diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index b44ed44..1ee6867 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -9,16 +9,16 @@ # the `language` matrix defined below to confirm you have the correct set of # supported CodeQL languages. # -name: "CodeQL" +name: CodeQL on: push: - branches: [ main ] + branches: [main] pull_request: # The branches below must be a subset of the branches above - branches: [ main ] + branches: [main] schedule: - - cron: '22 18 * * 5' + - cron: 22 18 * * 5 jobs: analyze: @@ -32,7 +32,7 @@ jobs: strategy: fail-fast: false matrix: - language: [ 'python' ] + language: [python] # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] # Learn more about CodeQL language support at https://git.io/codeql-language-support diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index d42d119..55b0e97 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: [3.9] + python-version: [3.13] steps: - uses: actions/checkout@v2 @@ -23,17 +23,14 @@ jobs: - name: Generate coverage report run: | coverage erase - pytest --cov=codemetrics --cov-branch --cov-report=xml --cov-config=setup.cfg + pytest --cov=codemetrics --cov-branch --cov-report=xml --cov-config=pyproject.toml coverage xml - name: Upload coverage to Codecov - uses: codecov/codecov-action@v1 + uses: codecov/codecov-action@v3 with: fail_ci_if_error: true -# Codacy does not seem to support coverage.xml out of the box -# - name: Codacy Coverage Reporter -# uses: codacy/codacy-coverage-reporter-action@master -# with: -# project-token: ${{secrets.CODACY_PROJECT_TOKEN}} + files: ./coverage.xml + token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 709e967..94070c3 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -16,7 +16,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v2 with: - python-version: '3.9' + python-version: '3.13' - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index 5c2064a..8132a9c 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.7', '3.8', '3.9', '3.10'] + python-version: ['3.10', '3.11', '3.12', '3.13'] steps: - uses: actions/checkout@v2 diff --git a/.gitignore b/.gitignore index a4149f5..cc8817e 100644 --- a/.gitignore +++ b/.gitignore @@ -29,6 +29,7 @@ wheels/ # Local files that should stay so local/ +.vscode/ # PyInstaller # Usually these files are written by a python script from a template diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a992693..76055c2 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,20 +1,20 @@ default_stages: -- commit +- pre-commit repos: - hooks: - id: commitizen stages: - commit-msg repo: https://github.com/commitizen-tools/commitizen - rev: v2.24.0 + rev: master - hooks: - id: check-added-large-files - id: check-merge-conflict + - id: check-toml - id: debug-statements - id: detect-private-key - - id: requirements-txt-fixer repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.2.0 + rev: v6.0.0 - hooks: - args: - --autofix @@ -22,19 +22,18 @@ repos: - '2' id: pretty-format-yaml repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks - rev: v2.3.0 -- hooks: - - id: black - language_version: python3.8 - repo: https://github.com/python/black - rev: 22.3.0 -- hooks: - - additional_dependencies: - - flake8-comprehensions>=3.1.0 - id: flake8 - language: python_venv - repo: https://gitlab.com/pycqa/flake8 - rev: 3.9.2 + rev: v2.15.0 +- repo: https://github.com/abravalheri/validate-pyproject + rev: v0.24.1 + hooks: + - id: validate-pyproject + files: pyproject\.toml$ +- repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.13.0 + hooks: + - id: ruff-check + args: [--fix] + - id: ruff-format - hooks: - args: - --install-types @@ -43,11 +42,7 @@ repos: files: codemetrics/ id: mypy repo: https://github.com/pre-commit/mirrors-mypy - rev: v0.942 -- hooks: - - id: isort - repo: https://github.com/pre-commit/mirrors-isort - rev: v5.10.1 + rev: v1.18.1 - hooks: - always_run: false entry: python -m unittest diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 3153650..168e323 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -66,7 +66,7 @@ Ready to contribute? Here's how to set up `codemetrics` for local development. $ mkvirtualenv codemetrics $ cd codemetrics/ - $ python setup.py develop + $ python -m pip install -e .[develop] 4. Create a branch for local development:: @@ -78,11 +78,9 @@ Ready to contribute? Here's how to set up `codemetrics` for local development. tests, including testing other Python versions with tox:: $ flake8 codemetrics tests - $ python setup.py test or py.test + $ python -m unittest discover tests $ tox - To get flake8 and tox, just pip install them into your virtualenv. - 6. Commit your changes and push your branch to GitHub:: $ git add . @@ -122,7 +120,7 @@ Then run:: $ tox -p # there should be no errors. $ vim HISTORY.rst $ bump2version patch # possible: major / minor / patch. - $ vim setup.cfg # bump2version does not update all references. + $ vim pyproject.toml # bump2version does not update all references. $ git push $ git tag vx.y.z $ git push --tags diff --git a/MANIFEST.in b/MANIFEST.in index 4e4e7a0..95bbd9f 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,8 +1,8 @@ -include AUTHORS.md -include CONTRIBUTING.md -include HISTORY.md +include AUTHORS.rst +include CONTRIBUTING.rst +include HISTORY.rst include LICENSE.txt -include README.md +include README.rst recursive-include tests * recursive-exclude * __pycache__ diff --git a/Makefile b/Makefile index b20f099..7c6d5ae 100644 --- a/Makefile +++ b/Makefile @@ -54,13 +54,13 @@ lint: ## check style with flake8 flake8 codemetrics tests test: ## run tests quickly with the default Python - python setup.py test + python -m unittest discover tests test-all: ## run tests on every Python version with tox tox coverage: ## check code coverage quickly with the default Python - coverage run --source codemetrics setup.py test + coverage run --source codemetrics -m pytest tests coverage report -m coverage html $(BROWSER) htmlcov/index.html @@ -80,9 +80,8 @@ release: dist ## package and upload a release twine upload dist/* dist: clean ## builds source and wheel package - python setup.py sdist - python setup.py bdist_wheel + python -m build ls -l dist install: clean ## install the package to the active Python's site-packages - python setup.py install + python -m pip install . diff --git a/codemetrics/core.py b/codemetrics/core.py index 5261d25..a5d1f7d 100644 --- a/codemetrics/core.py +++ b/codemetrics/core.py @@ -11,6 +11,7 @@ import sklearn.feature_extraction.text from . import internals, scm +from typing import Optional __all__ = [ "get_mass_changes", @@ -23,7 +24,9 @@ def get_mass_changes( - log: pd.DataFrame, min_path: int = None, max_changes_per_path: float = None + log: pd.DataFrame, + min_path: Optional[int] = None, + max_changes_per_path: Optional[float] = None, ) -> pd.DataFrame: """Extract mass changesets from the SCM log data frame. @@ -61,7 +64,7 @@ def get_mass_changes( def get_ages( data: pd.DataFrame, - by: typing.Sequence[str] = None, + by: Optional[typing.Sequence[str]] = None, ) -> pd.DataFrame: """Generate age of each file based on last change. diff --git a/codemetrics/git.py b/codemetrics/git.py index 588fc35..944fb56 100644 --- a/codemetrics/git.py +++ b/codemetrics/git.py @@ -14,6 +14,7 @@ from . import internals, scm from .internals import log +from typing import Optional default_client = "git" @@ -60,7 +61,10 @@ class _GitLogCollector(scm.ScmLogCollector): ] def __init__( - self, git_client: str = default_client, cwd: pl.Path = None, _pdb: bool = False + self, + git_client: str = default_client, + cwd: Optional[pl.Path] = None, + _pdb: bool = False, ): """Initialize. @@ -190,9 +194,9 @@ def process_log_entries( def get_log( self, path: str = ".", - after: dt.datetime = None, - before: dt.datetime = None, - progress_bar: tqdm.tqdm = None, + after: Optional[dt.datetime] = None, + before: Optional[dt.datetime] = None, + progress_bar: Optional[tqdm.tqdm] = None, ) -> pd.DataFrame: """Retrieve log from git. @@ -230,7 +234,7 @@ def get_log( class _GitFileDownloader(scm.ScmDownloader): """Download files from Subversion.""" - def __init__(self, git_client: str = None, cwd: pl.Path = None): + def __init__(self, git_client: Optional[str] = None, cwd: Optional[pl.Path] = None): """Initialize downloader. Args: @@ -251,7 +255,6 @@ def _download( class GitProject(scm.Project): - """Project for git SCM.""" def __init__(self, cwd: pl.Path = pl.Path("."), client: str = "git"): @@ -285,11 +288,11 @@ def download(self, data: pd.DataFrame) -> scm.DownloadResult: def get_log( self, path: str = ".", - after: dt.datetime = None, - before: dt.datetime = None, - progress_bar: tqdm.tqdm = None, + after: Optional[dt.datetime] = None, + before: Optional[dt.datetime] = None, + progress_bar: Optional[tqdm.tqdm] = None, # FIXME: Needed for Subversion though may be a better way. - relative_url: str = None, + relative_url: Optional[str] = None, _pdb: bool = False, ) -> pd.DataFrame: """Entry point to retrieve git log. @@ -318,7 +321,7 @@ def get_log( def download( - data: pd.DataFrame, client: str = None, cwd: pl.Path = None + data: pd.DataFrame, client: Optional[str] = None, cwd: Optional[pl.Path] = None ) -> scm.DownloadResult: """Downloads files from Subversion. diff --git a/codemetrics/internals.py b/codemetrics/internals.py index 6ec42fa..4b84275 100644 --- a/codemetrics/internals.py +++ b/codemetrics/internals.py @@ -10,6 +10,7 @@ import typing import pandas as pd +from typing import Optional log = logging.getLogger("codemetrics") log.addHandler(logging.NullHandler()) @@ -27,7 +28,7 @@ def get_now(): return dt.datetime.now(dt.timezone.utc) -def get_year_ago(from_date: dt.datetime = None): +def get_year_ago(from_date: Optional[dt.datetime] = None): """Get current time stamp minus 1 year. Decrements by one the year of the date returned by `get_now()`. diff --git a/codemetrics/pbar.py b/codemetrics/pbar.py index 17704df..f8c46ae 100644 --- a/codemetrics/pbar.py +++ b/codemetrics/pbar.py @@ -8,6 +8,7 @@ import tqdm import codemetrics as cm +from typing import Optional class ProgressBarAdapter: @@ -17,7 +18,10 @@ class ProgressBarAdapter: """ def __init__( - self, progress_bar: tqdm.tqdm, after: dt.datetime, ascending: bool = None + self, + progress_bar: tqdm.tqdm, + after: dt.datetime, + ascending: Optional[bool] = None, ): """Creates adapter to update the progress bar based on days retrieved. diff --git a/codemetrics/scm.py b/codemetrics/scm.py index bd37149..09a22f9 100644 --- a/codemetrics/scm.py +++ b/codemetrics/scm.py @@ -14,6 +14,7 @@ import tqdm from . import pbar +from typing import Optional DownloadResult = collections.namedtuple( "DownloadResult", ["revision", "path", "content"] @@ -51,11 +52,11 @@ def download(self, data: pd.DataFrame) -> typing.Optional[DownloadResult]: def get_log( self, path: str = ".", - after: dt.datetime = None, - before: dt.datetime = None, - progress_bar: tqdm.tqdm = None, + after: Optional[dt.datetime] = None, + before: Optional[dt.datetime] = None, + progress_bar: Optional[tqdm.tqdm] = None, # FIXME: Needed for Subversion though may be a better way. - relative_url: str = None, + relative_url: Optional[str] = None, _pdb=False, ) -> pd.DataFrame: return pd.DataFrame(columns=LogEntry.__slots__) @@ -104,10 +105,10 @@ def __init__( action: typing.Optional[str] = None, textmods: bool = True, propmods: bool = False, - copyfromrev: str = None, - copyfrompath: str = None, - added: int = None, - removed: int = None, + copyfromrev: Optional[str] = None, + copyfrompath: Optional[str] = None, + added: Optional[int] = None, + removed: Optional[int] = None, ): """Initializes LogEntry @@ -204,7 +205,7 @@ class ScmLogCollector(abc.ABC): """ - def __init__(self, cwd: pl.Path = None): + def __init__(self, cwd: Optional[pl.Path] = None): """Initialize interface. Args: @@ -230,7 +231,7 @@ def process_log_output_to_df( self, cmd_output: typing.Sequence[str], after: dt.datetime, - progress_bar: tqdm.tqdm = None, + progress_bar: Optional[tqdm.tqdm] = None, ): """Factor creation of dataframe from output of command. @@ -322,7 +323,9 @@ def parse_diff_chunks(download: DownloadResult) -> pd.DataFrame: class ScmDownloader(abc.ABC): """Abstract class that defines a common interface for SCM downloaders.""" - def __init__(self, command: typing.List[str], client: str, cwd: pl.Path = None): + def __init__( + self, command: typing.List[str], client: str, cwd: Optional[pl.Path] = None + ): """Aggregates the client and the command in one variable. Args: @@ -334,7 +337,7 @@ def __init__(self, command: typing.List[str], client: str, cwd: pl.Path = None): self.command = [client] + command self.cwd = cwd or None - def download(self, revision: str, path: str = None) -> DownloadResult: + def download(self, revision: str, path: Optional[str] = None) -> DownloadResult: """Download content specific to a revision and path. Runs checks and forward the call to _download (template method). @@ -345,12 +348,12 @@ def download(self, revision: str, path: str = None) -> DownloadResult: are to be retrieved. """ - assert revision is None or isinstance( - revision, str - ), f"expected string, got {type(revision)}" - assert path is None or isinstance( - path, str - ), f"expected a string, got {type(path)}" + assert revision is None or isinstance(revision, str), ( + f"expected string, got {type(revision)}" + ) + assert path is None or isinstance(path, str), ( + f"expected a string, got {type(path)}" + ) if path is None: path = "." try: diff --git a/codemetrics/svn.py b/codemetrics/svn.py index 3453238..2f58277 100644 --- a/codemetrics/svn.py +++ b/codemetrics/svn.py @@ -18,6 +18,7 @@ from . import internals, scm from .internals import log +from typing import Optional default_client = "svn" @@ -53,9 +54,9 @@ class _SvnLogCollector(scm.ScmLogCollector): def __init__( self, - cwd: pl.Path = None, - svn_client: str = None, - relative_url: str = None, + cwd: Optional[pl.Path] = None, + svn_client: Optional[str] = None, + relative_url: Optional[str] = None, ) -> None: """Initialize. @@ -190,9 +191,9 @@ def process_log_entries(self, xml): def get_log( self, path: str = ".", - after: dt.datetime = None, - before: dt.datetime = None, - progress_bar: tqdm.tqdm = None, + after: Optional[dt.datetime] = None, + before: Optional[dt.datetime] = None, + progress_bar: Optional[tqdm.tqdm] = None, ) -> pd.DataFrame: """Entry point to retrieve _SvnLogCollector log. @@ -236,7 +237,10 @@ class SvnDownloader(scm.ScmDownloader): """Download files from Subversion.""" def __init__( - self, command: typing.List[str], svn_client: str = None, cwd: pl.Path = None + self, + command: typing.List[str], + svn_client: Optional[str] = None, + cwd: Optional[pl.Path] = None, ) -> None: """Initialize downloader. @@ -247,7 +251,9 @@ def __init__( svn_client = default_client super().__init__(command, client=svn_client, cwd=cwd) - def _download(self, revision: str, path: str = None) -> scm.DownloadResult: + def _download( + self, revision: str, path: Optional[str] = None + ) -> scm.DownloadResult: """Download specific file and revision from git. Args: @@ -266,7 +272,10 @@ def _download(self, revision: str, path: str = None) -> scm.DownloadResult: def get_diff_stats( - data: pd.DataFrame, svn_client: str = None, chunks=None, cwd: pl.Path = None + data: pd.DataFrame, + svn_client: Optional[str] = None, + chunks=None, + cwd: Optional[pl.Path] = None, ) -> typing.Union[None, pd.DataFrame]: """Download diff chunks statistics from Subversion. @@ -318,7 +327,6 @@ def get_diff_stats( class SvnProject(scm.Project): - """Project for Subversion SCM.""" def __init__(self, cwd: pl.Path = pl.Path(), client: str = "svn"): @@ -352,11 +360,11 @@ def download(self, data: pd.DataFrame) -> scm.DownloadResult: def get_log( self, path: str = ".", - after: dt.datetime = None, - before: dt.datetime = None, - progress_bar: tqdm.tqdm = None, + after: Optional[dt.datetime] = None, + before: Optional[dt.datetime] = None, + progress_bar: Optional[tqdm.tqdm] = None, # FIXME: Why do we need path _and_ relative_url - relative_url: str = None, + relative_url: Optional[str] = None, _pdb=False, ) -> pd.DataFrame: """Entry point to retrieve svn log. diff --git a/notebooks/pandas.ipynb b/notebooks/pandas.ipynb index 422f987..9ae77a5 100644 --- a/notebooks/pandas.ipynb +++ b/notebooks/pandas.ipynb @@ -27,17 +27,11 @@ "import os\n", "import pathlib as pl\n", "import datetime as dt\n", - "import textwrap\n", - "import json\n", - "import pathlib as pth\n", "import logging\n", - "import sys\n", "\n", "import joblib\n", "import pandas as pd\n", - "import numpy as np\n", "import altair as alt\n", - "import ipywidgets\n", "from altair.vega.v5 import Vega\n", "from tqdm.auto import tqdm\n", "\n", @@ -68,7 +62,7 @@ "source": [ "log = cm.log\n", "logging.basicConfig(format=\"%(relativeCreated)6d %(level)s %(message)s\")\n", - "log.setLevel(logging.WARNING) \n", + "log.setLevel(logging.WARNING)\n", "log.info(\"logging enabled\")" ] }, @@ -95,10 +89,10 @@ "analysis_start_date = analysis_end_date - dt.timedelta(365)\n", "\n", "# Change current directory to the project under being analyzed.\n", - "project = cm.GitProject(pl.Path().absolute() / '..' / '..'/ 'pandas')\n", + "project = cm.GitProject(pl.Path().absolute() / \"..\" / \"..\" / \"pandas\")\n", "\n", "# Sets up caching and wipes out cache if any.\n", - "disk = joblib.Memory(location=os.getenv('TEMP'), verbose=0)\n", + "disk = joblib.Memory(location=os.getenv(\"TEMP\"), verbose=0)\n", "get_cloc = disk.cache(cm.get_cloc)\n", "get_cloc.clear()" ] @@ -118,7 +112,7 @@ "metadata": {}, "outputs": [], "source": [ - "cloc_program = 'cloc.exe'\n", + "cloc_program = \"cloc.exe\"\n", "loc = cm.get_cloc(project, cloc_program=cloc_program).query(\"language != 'SUM'\")" ] }, @@ -279,20 +273,25 @@ } ], "source": [ - "loc_sum = (loc.groupby('language').sum()\n", - " .reset_index()\n", - " .melt(id_vars=['language'])\n", - " .rename(columns={'variable': 'type', 'value': 'lines'})\n", - " )\n", - "significant_languages = loc.groupby('language').sum().code.nlargest(10).index.tolist()\n", + "loc_sum = (\n", + " loc.groupby(\"language\")\n", + " .sum()\n", + " .reset_index()\n", + " .melt(id_vars=[\"language\"])\n", + " .rename(columns={\"variable\": \"type\", \"value\": \"lines\"})\n", + ")\n", + "significant_languages = loc.groupby(\"language\").sum().code.nlargest(10).index.tolist()\n", "loc_sum_sl = loc_sum.query(\"language in @significant_languages\")\n", "loc_sl = loc.query(\"language in @significant_languages\")\n", "alt.Chart(loc_sum_sl).mark_bar().encode(\n", - " x=alt.X('lines:Q'),\n", - " y=alt.Y('language:N', sort=alt.EncodingSortField(field='lines', op='sum', order='descending')),\n", - " color=alt.Color('type:N', scale=alt.Scale(scheme='accent')), \n", - " tooltip=['lines:Q', 'type:O'],\n", - ").properties(title='Lines of code')" + " x=alt.X(\"lines:Q\"),\n", + " y=alt.Y(\n", + " \"language:N\",\n", + " sort=alt.EncodingSortField(field=\"lines\", op=\"sum\", order=\"descending\"),\n", + " ),\n", + " color=alt.Color(\"type:N\", scale=alt.Scale(scheme=\"accent\")),\n", + " tooltip=[\"lines:Q\", \"type:O\"],\n", + ").properties(title=\"Lines of code\")" ] }, { @@ -313,8 +312,8 @@ "outputs": [], "source": [ "log = cm.get_log(project, after=analysis_start_date)\n", - "log['issue'] = log['message'].str.extract(r'\\(#(\\d+)\\)')\n", - "log = pd.merge(log, loc[['path']], left_on='path', right_on='path')" + "log[\"issue\"] = log[\"message\"].str.extract(r\"\\(#(\\d+)\\)\")\n", + "log = pd.merge(log, loc[[\"path\"]], left_on=\"path\", right_on=\"path\")" ] }, { @@ -438,14 +437,16 @@ "metadata": {}, "outputs": [], "source": [ - "ages = (log[['date', 'path']]\n", - " .merge(loc_sl)\n", - " )\n", - "df = (ages\n", - " .sample(5000, random_state=42) # altair supports a maximum of 5000 data points.\n", - " .assign(age=lambda x: (analysis_end_date - x['date']).dt.total_seconds() / 86400) # Altair does not handle TimeDelta64.\n", - " .assign(week=lambda x: x.date.dt.tz_localize(None).dt.to_period(freq='W').dt.end_time) # Compute the end of the week for that change.\n", - " )" + "ages = log[[\"date\", \"path\"]].merge(loc_sl)\n", + "df = (\n", + " ages.sample(5000, random_state=42) # altair supports a maximum of 5000 data points.\n", + " .assign(\n", + " age=lambda x: (analysis_end_date - x[\"date\"]).dt.total_seconds() / 86400\n", + " ) # Altair does not handle TimeDelta64.\n", + " .assign(\n", + " week=lambda x: x.date.dt.tz_localize(None).dt.to_period(freq=\"W\").dt.end_time\n", + " ) # Compute the end of the week for that change.\n", + ")" ] }, { @@ -651,20 +652,22 @@ ], "source": [ "width = 1000\n", - "chart = alt.Chart(df).encode(color='language')\n", - "top = (chart.mark_bar(size=15)\n", - " .encode(x=alt.X('week:T', sort='ascending', title='week of'),\n", - " y=alt.Y('count(path):Q', title='Count of files changed'),\n", - " color='language:N', #alt.Color('language', scale=alt.Scale(scheme=None)),\n", - " tooltip=['count(path)', 'language']\n", - " )\n", - " .properties(width=width, title='Number of changes each week')\n", - " )\n", - "bottom = (chart.mark_tick(thickness=2,\n", - " opacity=.1)\n", - " .encode(x=alt.X('date:T'), tooltip='path')\n", - " .properties(width=width, title='Frequency of changes')\n", - " )\n", + "chart = alt.Chart(df).encode(color=\"language\")\n", + "top = (\n", + " chart.mark_bar(size=15)\n", + " .encode(\n", + " x=alt.X(\"week:T\", sort=\"ascending\", title=\"week of\"),\n", + " y=alt.Y(\"count(path):Q\", title=\"Count of files changed\"),\n", + " color=\"language:N\", # alt.Color('language', scale=alt.Scale(scheme=None)),\n", + " tooltip=[\"count(path)\", \"language\"],\n", + " )\n", + " .properties(width=width, title=\"Number of changes each week\")\n", + ")\n", + "bottom = (\n", + " chart.mark_tick(thickness=2, opacity=0.1)\n", + " .encode(x=alt.X(\"date:T\"), tooltip=\"path\")\n", + " .properties(width=width, title=\"Frequency of changes\")\n", + ")\n", "alt.vconcat(top, bottom)" ] }, @@ -789,7 +792,7 @@ "path": "pandas/tests/io/formats/data", "r": 1.6927577003200025, "size": 0, - "x": 91.95161118042415, + "x": 91.95161118042417, "y": 259.3543323416845 }, { @@ -870,7 +873,7 @@ "r": 0.7428738399910122, "size": 0, "x": 409.967739760354, - "y": 195.46762046641746 + "y": 195.46762046641743 }, { "age": null, @@ -901,7 +904,7 @@ "path": "web/pandas", "r": 7.906231562515699, "size": 0, - "x": 396.95949122395973, + "x": 396.9594912239598, "y": 330.25545733300163 }, { @@ -1045,7 +1048,7 @@ "path": "pandas/tseries", "r": 7.17224556746554, "size": 0, - "x": 202.82735937825862, + "x": 202.82735937825865, "y": 117.72030566705118 }, { @@ -1062,7 +1065,7 @@ "r": 5.335356087398207, "size": 0, "x": 47.46513187964227, - "y": 178.76674166074307 + "y": 178.7667416607431 }, { "age": null, @@ -1093,7 +1096,7 @@ "path": "pandas/tests/util", "r": 8.353488271532468, "size": 0, - "x": 63.440696380997124, + "x": 63.44069638099712, "y": 164.031750146989 }, { @@ -1171,7 +1174,7 @@ "language": null, "parent": 29, "path": "pandas/tests/tools", - "r": 13.561778359697065, + "r": 13.561778359697064, "size": 0, "x": 33.14059283253276, "y": 274.1025453941688 @@ -1203,7 +1206,7 @@ "language": null, "parent": 29, "path": "pandas/tests/strings", - "r": 13.059005381567387, + "r": 13.059005381567388, "size": 0, "x": 205.1049386287904, "y": 347.3602330610237 @@ -1219,7 +1222,7 @@ "language": null, "parent": 29, "path": "pandas/tests/series", - "r": 31.345070049075474, + "r": 31.34507004907547, "size": 0, "x": 153.49465164882534, "y": 189.3181310207379 @@ -1253,7 +1256,7 @@ "path": "pandas/tests/series/indexing", "r": 12.091579507140244, "size": 0, - "x": 172.74814219076057, + "x": 172.74814219076055, "y": 189.3181310207379 }, { @@ -1299,7 +1302,7 @@ "language": null, "parent": 37, "path": "pandas/tests/scalar/timedelta", - "r": 9.591087700245227, + "r": 9.591087700245229, "size": 0, "x": 249.0477104411719, "y": 234.49029464602808 @@ -1379,9 +1382,9 @@ "language": null, "parent": 39, "path": "pandas/tests/reshape/concat", - "r": 12.111439092966037, + "r": 12.111439092966036, "size": 0, - "x": 101.39577006745269, + "x": 101.39577006745267, "y": 332.542527714051 }, { @@ -1462,7 +1465,7 @@ "r": 7.4270000103062435, "size": 0, "x": 21.44628678322536, - "y": 234.55619033248914 + "y": 234.5561903324891 }, { "age": null, @@ -1478,7 +1481,7 @@ "r": 9.345840453108798, "size": 0, "x": 122.94669048786729, - "y": 216.78804126135782 + "y": 216.78804126135785 }, { "age": null, @@ -1507,7 +1510,7 @@ "language": null, "parent": 59, "path": "pandas/tests/io/pytables", - "r": 14.565264678253975, + "r": 14.565264678253977, "size": 0, "x": 98.63951658245033, "y": 277.9639225680258 @@ -1558,7 +1561,7 @@ "r": 22.32229033280966, "size": 0, "x": 120.66496013328612, - "y": 248.37386425305806 + "y": 248.3738642530581 }, { "age": null, @@ -1573,7 +1576,7 @@ "path": "pandas/tests/io/parser/common", "r": 9.88531071912991, "size": 0, - "x": 112.26662400347195, + "x": 112.26662400347196, "y": 248.69687420768852 }, { @@ -1589,7 +1592,7 @@ "path": "pandas/tests/io/json", "r": 14.996022505300356, "size": 0, - "x": 98.64829562475359, + "x": 98.6482956247536, "y": 218.24210431438587 }, { @@ -1606,7 +1609,7 @@ "r": 23.251096890025565, "size": 0, "x": 75.09157291045088, - "y": 248.37386425305806 + "y": 248.3738642530581 }, { "age": null, @@ -1622,7 +1625,7 @@ "r": 13.444411853236357, "size": 0, "x": 65.28488787366166, - "y": 248.37386425305806 + "y": 248.3738642530581 }, { "age": null, @@ -1637,7 +1640,7 @@ "path": "pandas/tests/io/formats/data/html", "r": 1.6927577003200025, "size": 0, - "x": 91.95161118042415, + "x": 91.95161118042417, "y": 259.3543323416845 }, { @@ -1667,9 +1670,9 @@ "language": null, "parent": 29, "path": "pandas/tests/io", - "r": 53.440178766794396, + "r": 53.4401787667944, "size": 0, - "x": 96.38711714362637, + "x": 96.38711714362636, "y": 251.98604880572955 }, { @@ -1699,7 +1702,7 @@ "language": null, "parent": 63, "path": "pandas/tests/indexing/multiindex", - "r": 11.838041908932615, + "r": 11.838041908932617, "size": 0, "x": 210.72622703765475, "y": 311.8319487904972 @@ -1939,7 +1942,7 @@ "language": null, "parent": 29, "path": "pandas/tests/indexes", - "r": 41.402210943037716, + "r": 41.40221094303771, "size": 0, "x": 154.6713315321904, "y": 326.80602768155904 @@ -1957,7 +1960,7 @@ "path": "pandas/tests/indexes/categorical", "r": 6.9525984539769805, "size": 0, - "x": 126.78468155250167, + "x": 126.78468155250168, "y": 306.57954618929807 }, { @@ -1989,7 +1992,7 @@ "path": "pandas/tests/groupby/transform", "r": 8.142320449828997, "size": 0, - "x": 101.26508932779049, + "x": 101.26508932779048, "y": 156.39482796286114 }, { @@ -2035,10 +2038,10 @@ "language": null, "parent": 29, "path": "pandas/tests/generic", - "r": 10.162687805373203, + "r": 10.162687805373205, "size": 0, "x": 258.5945534875273, - "y": 253.08873449970523 + "y": 253.08873449970525 }, { "age": null, @@ -2245,7 +2248,7 @@ "path": "pandas/tests/dtypes/cast", "r": 6.115739443831708, "size": 0, - "x": 117.37694175386099, + "x": 117.376941753861, "y": 379.685827569324 }, { @@ -2310,7 +2313,7 @@ "r": 7.551824443067717, "size": 0, "x": 29.132072347998687, - "y": 199.82224127486518 + "y": 199.8222412748652 }, { "age": null, @@ -2371,7 +2374,7 @@ "language": null, "parent": 104, "path": "pandas/tests/arrays/period", - "r": 3.6694440725306667, + "r": 3.6694440725306663, "size": 0, "x": 192.8434671206537, "y": 170.5220989655507 @@ -2406,7 +2409,7 @@ "r": 4.323126322271966, "size": 0, "x": 192.81381135178532, - "y": 197.65975107896966 + "y": 197.6597510789697 }, { "age": null, @@ -2453,7 +2456,7 @@ "path": "pandas/tests/arrays/floating", "r": 5.940618897801829, "size": 0, - "x": 201.20615378682263, + "x": 201.20615378682265, "y": 165.78725134210634 }, { @@ -2614,7 +2617,7 @@ "r": 12.937511808320425, "size": 0, "x": 302.56672591208417, - "y": 183.20298337860342 + "y": 183.20298337860345 }, { "age": null, @@ -2723,7 +2726,7 @@ "language": null, "parent": 140, "path": "pandas/core/window", - "r": 12.538503582316865, + "r": 12.538503582316864, "size": 0, "x": 296.8693855343632, "y": 227.39092467567468 @@ -2789,7 +2792,7 @@ "path": "pandas/core/reshape", "r": 13.649911646865926, "size": 0, - "x": 374.10033943969876, + "x": 374.1003394396987, "y": 219.72816516471872 }, { @@ -2838,7 +2841,7 @@ "r": 20.01320308195317, "size": 0, "x": 364.9938581426089, - "y": 252.13614707707154 + "y": 252.1361470770715 }, { "age": null, @@ -2854,7 +2857,7 @@ "r": 5.617760397123938, "size": 0, "x": 284.82593070753927, - "y": 255.12534000641614 + "y": 255.12534000641617 }, { "age": null, @@ -2867,7 +2870,7 @@ "language": null, "parent": 140, "path": "pandas/core/groupby", - "r": 14.703922130968927, + "r": 14.703922130968929, "size": 0, "x": 345.9488094862127, "y": 223.1091785008455 @@ -2899,7 +2902,7 @@ "language": null, "parent": 140, "path": "pandas/core/computation", - "r": 10.378459353456167, + "r": 10.378459353456169, "size": 0, "x": 298.83225283158777, "y": 275.7910603343034 @@ -2918,7 +2921,7 @@ "r": 8.664332561810104, "size": 0, "x": 315.5923682875624, - "y": 251.86349219969998 + "y": 251.8634921997 }, { "age": null, @@ -2934,7 +2937,7 @@ "r": 22.83443179649095, "size": 0, "x": 322.14622326416475, - "y": 252.13614707707154 + "y": 252.1361470770715 }, { "age": null, @@ -2963,7 +2966,7 @@ "language": null, "parent": 159, "path": "pandas/core", - "r": 62.967936477296924, + "r": 62.96793647729693, "size": 0, "x": 341.94662386024424, "y": 250 @@ -3061,8 +3064,8 @@ "path": "pandas/api/indexers", "r": 0.6644465619704819, "size": 0, - "x": 194.78233512831582, - "y": 120.93194297583699 + "x": 194.78233512831585, + "y": 120.931942975837 }, { "age": null, @@ -3077,8 +3080,8 @@ "path": "pandas/api", "r": 1.093344973463224, "size": 0, - "x": 195.21123353980857, - "y": 120.93194297583699 + "x": 195.21123353980855, + "y": 120.931942975837 }, { "age": null, @@ -3253,7 +3256,7 @@ "path": "pandas/_config", "r": 5.199226362919623, "size": 0, - "x": 227.74732692742242, + "x": 227.7473269274224, "y": 378.1623556676554 }, { @@ -3267,9 +3270,9 @@ "language": null, "parent": 0, "path": "pandas", - "r": 202.45728016877058, + "r": 202.45728016877055, "size": 0, - "x": 202.45728016877058, + "x": 202.45728016877055, "y": 250 }, { @@ -3283,7 +3286,7 @@ "language": null, "parent": 172, "path": "doc/sphinxext", - "r": 1.6721538446540019, + "r": 1.672153844654002, "size": 0, "x": 495.5073352168836, "y": 254.39610853140587 @@ -3365,7 +3368,7 @@ "path": "doc/source/getting_started/intro_tutorials/includes", "r": 1.2127085096964276, "size": 0, - "x": 457.29787069472803, + "x": 457.297870694728, "y": 227.05438881346743 }, { @@ -3382,7 +3385,7 @@ "r": 4.7673980252921515, "size": 0, "x": 458.75991109886667, - "y": 224.03633109823522 + "y": 224.0363310982352 }, { "age": null, @@ -3398,7 +3401,7 @@ "r": 11.945494442144447, "size": 0, "x": 451.5818146820144, - "y": 224.03633109823522 + "y": 224.0363310982352 }, { "age": null, @@ -3414,7 +3417,7 @@ "r": 0.2712591730290405, "size": 0, "x": 445.9732393011117, - "y": 226.95196086043526 + "y": 226.9519608604353 }, { "age": null, @@ -3430,7 +3433,7 @@ "r": 7.178096416852294, "size": 0, "x": 446.81441665672224, - "y": 224.03633109823522 + "y": 224.0363310982352 }, { "age": null, @@ -3443,7 +3446,7 @@ "language": null, "parent": 171, "path": "doc/source/development", - "r": 9.916560434892407, + "r": 9.916560434892409, "size": 0, "x": 451.506337541273, "y": 273.22762198481223 @@ -3459,7 +3462,7 @@ "language": null, "parent": 172, "path": "doc/source", - "r": 44.565040291090156, + "r": 44.56504029109016, "size": 0, "x": 449.4796006286313, "y": 250 @@ -3494,7 +3497,7 @@ "r": 0.5754276021236687, "size": 0, "x": 494.5479885481391, - "y": 247.45004863673134 + "y": 247.45004863673137 }, { "age": null, @@ -3622,7 +3625,7 @@ "r": 0.7428738399910122, "size": 0, "x": 409.967739760354, - "y": 195.46762046641746 + "y": 195.46762046641743 }, { "age": null, @@ -3829,7 +3832,7 @@ "path": "setup.py", "r": 4.2415429119439, "size": 489, - "x": 397.59206566074795, + "x": 397.5920656607479, "y": 181.83242006677597 }, { @@ -3877,7 +3880,7 @@ "path": "scripts/validate_docstrings.py", "r": 3.452565612742012, "size": 324, - "x": 415.86953012576123, + "x": 415.8695301257612, "y": 211.61714970028476 }, { @@ -3958,7 +3961,7 @@ "r": 0.7428738399910122, "size": 15, "x": 408.44720771689634, - "y": 209.53201182760625 + "y": 209.53201182760623 }, { "age": 115.4539201922, @@ -4022,7 +4025,7 @@ "r": 1.435368625359761, "size": 56, "x": 409.16258763652064, - "y": 218.16000148840502 + "y": 218.16000148840504 }, { "age": 198.2254016737, @@ -4037,7 +4040,7 @@ "path": "scripts/generate_pip_deps_from_conda.py", "r": 1.7048374669216293, "size": 79, - "x": 409.84245525944084, + "x": 409.8424552594408, "y": 205.0501679376132 }, { @@ -4101,7 +4104,7 @@ "path": "pandas/util/_tester.py", "r": 0.8996648978794206, "size": 22, - "x": 222.18563270281558, + "x": 222.1856327028156, "y": 128.0744694209374 }, { @@ -4117,8 +4120,8 @@ "path": "pandas/util/_test_decorators.py", "r": 2.3880052907836946, "size": 155, - "x": 218.84258285436238, - "y": 119.86856498345317 + "x": 218.8425828543624, + "y": 119.86856498345315 }, { "age": 221.1999039885, @@ -4133,7 +4136,7 @@ "path": "pandas/util/_print_versions.py", "r": 1.9654594361118072, "size": 105, - "x": 214.33039769608087, + "x": 214.3303976960809, "y": 129.87137196279784 }, { @@ -4150,7 +4153,7 @@ "r": 1.085036692116162, "size": 32, "x": 222.24212939411893, - "y": 120.57927163110337 + "y": 120.57927163110335 }, { "age": 310.5312234329, @@ -4213,7 +4216,7 @@ "path": "pandas/tseries/holiday.py", "r": 3.3552906669492932, "size": 306, - "x": 206.64431427877486, + "x": 206.64431427877489, "y": 117.72030566705118 }, { @@ -4262,7 +4265,7 @@ "r": 0.5074794442471501, "size": 7, "x": 203.32168912870944, - "y": 119.69037039799413 + "y": 119.69037039799412 }, { "age": 20.3458414885, @@ -4389,7 +4392,7 @@ "path": "pandas/tests/window/test_online.py", "r": 1.7993297957588412, "size": 88, - "x": 38.656906061154956, + "x": 38.65690606115496, "y": 189.55392407142875 }, { @@ -4406,7 +4409,7 @@ "r": 3.57300951695363, "size": 347, "x": 40.73033957830737, - "y": 184.59782649966274 + "y": 184.59782649966272 }, { "age": 10.4631794514, @@ -4454,7 +4457,7 @@ "r": 4.378126414015465, "size": 521, "x": 48.12350491321696, - "y": 202.57780028036638 + "y": 202.5778002803664 }, { "age": 20.3458414885, @@ -4486,7 +4489,7 @@ "r": 1.8196618512399363, "size": 90, "x": 40.41731986279723, - "y": 192.71589241219914 + "y": 192.7158924121991 }, { "age": 56.0897766737, @@ -4499,10 +4502,10 @@ "language": "Python", "parent": 22, "path": "pandas/tests/window/test_base_indexer.py", - "r": 3.9168547166795933, + "r": 3.9168547166795937, "size": 417, "x": 40.94090618994272, - "y": 198.42846448544614 + "y": 198.42846448544617 }, { "age": 6.6155058403, @@ -4614,7 +4617,7 @@ "r": 1.7369061854482402, "size": 82, "x": 73.50984103371496, - "y": 191.06717658971638 + "y": 191.0671765897164 }, { "age": 16.2198576922, @@ -4627,7 +4630,7 @@ "language": "Python", "parent": 23, "path": "pandas/tests/util/test_validate_kwargs.py", - "r": 1.2723183001720821, + "r": 1.272318300172082, "size": 44, "x": 70.3133087392418, "y": 162.32582883092587 @@ -4755,7 +4758,7 @@ "language": "Python", "parent": 23, "path": "pandas/tests/util/test_deprecate_nonkeyword_arguments.py", - "r": 1.6721538446540019, + "r": 1.672153844654002, "size": 76, "x": 60.09979016177055, "y": 169.18359246631076 @@ -4790,7 +4793,7 @@ "r": 2.372548783451779, "size": 153, "x": 64.37855243841369, - "y": 159.93433777196753 + "y": 159.9343377719675 }, { "age": 244.9664780626, @@ -4883,9 +4886,9 @@ "language": "Python", "parent": 24, "path": "pandas/tests/tslibs/test_timedeltas.py", - "r": 1.5344736056631165, + "r": 1.5344736056631163, "size": 64, - "x": 204.88968126367854, + "x": 204.88968126367857, "y": 146.24490376721124 }, { @@ -4917,7 +4920,7 @@ "path": "pandas/tests/tslibs/test_parsing.py", "r": 2.8835245623405186, "size": 226, - "x": 205.02617792314214, + "x": 205.02617792314217, "y": 150.66079285939176 }, { @@ -4981,7 +4984,7 @@ "path": "pandas/tests/tslibs/test_array_to_datetime.py", "r": 2.269517069040884, "size": 140, - "x": 210.17921955452354, + "x": 210.1792195545235, "y": 150.66079285939176 }, { @@ -5030,7 +5033,7 @@ "r": 3.2381119963208267, "size": 285, "x": 124.93113499344986, - "y": 147.32470350048843 + "y": 147.32470350048845 }, { "age": 7.4452396366, @@ -5077,7 +5080,7 @@ "path": "pandas/tests/tseries/offsets/test_offsets_properties.py", "r": 1.0329241573367254, "size": 29, - "x": 117.20629458407527, + "x": 117.20629458407528, "y": 136.27458722402207 }, { @@ -5190,7 +5193,7 @@ "r": 3.654456090837651, "size": 363, "x": 124.7015570284979, - "y": 126.68749567848873 + "y": 126.68749567848872 }, { "age": 18.2846377848, @@ -5222,7 +5225,7 @@ "r": 1.6275550381742427, "size": 72, "x": 138.26910189233837, - "y": 148.81485823790157 + "y": 148.81485823790155 }, { "age": 193.9432257477, @@ -5363,7 +5366,7 @@ "language": "Python", "parent": 27, "path": "pandas/tests/tseries/frequencies/test_inference.py", - "r": 3.8024692509139886, + "r": 3.802469250913989, "size": 393, "x": 151.45450066565326, "y": 137.64756228858488 @@ -5462,7 +5465,7 @@ "r": 3.0206143133636685, "size": 248, "x": 18.52083471451786, - "y": 244.58586506549258 + "y": 244.58586506549256 }, { "age": 13.3788507477, @@ -5542,7 +5545,7 @@ "r": 3.415065727618611, "size": 317, "x": 242.76821496132283, - "y": 194.80069324159422 + "y": 194.80069324159425 }, { "age": 17.3142905626, @@ -5571,7 +5574,7 @@ "language": "Python", "parent": 29, "path": "pandas/tests/test_common.py", - "r": 2.4262158016532482, + "r": 2.426215801653248, "size": 160, "x": 218.31401200217792, "y": 339.2786208635887 @@ -5590,7 +5593,7 @@ "r": 8.415594526929393, "size": 1925, "x": 35.30525790768853, - "y": 242.23191316767182 + "y": 242.23191316767185 }, { "age": 156.0804711181, @@ -5603,7 +5606,7 @@ "language": "Python", "parent": 29, "path": "pandas/tests/test_aggregation.py", - "r": 1.6721538446540019, + "r": 1.672153844654002, "size": 76, "x": 55.043819535995794, "y": 169.50951968319004 @@ -5621,7 +5624,7 @@ "path": "pandas/tests/strings/test_strings.py", "r": 4.583397143049018, "size": 571, - "x": 211.13084501649178, + "x": 211.13084501649175, "y": 347.8128379546331 }, { @@ -5637,7 +5640,7 @@ "path": "pandas/tests/strings/test_string_array.py", "r": 1.6940129926135628, "size": 78, - "x": 215.85867478540226, + "x": 215.85867478540223, "y": 343.6832491509478 }, { @@ -5653,7 +5656,7 @@ "path": "pandas/tests/strings/test_split_partition.py", "r": 4.5064958394369015, "size": 552, - "x": 206.71736688180926, + "x": 206.71736688180928, "y": 355.7593695998055 }, { @@ -5701,7 +5704,7 @@ "path": "pandas/tests/strings/test_extract.py", "r": 4.34438312551855, "size": 513, - "x": 206.71125436499486, + "x": 206.7112543649949, "y": 340.05574578056263 }, { @@ -5814,7 +5817,7 @@ "r": 1.3009132930004117, "size": 46, "x": 142.24863796402389, - "y": 168.78112696830343 + "y": 168.78112696830345 }, { "age": 29.4522072292, @@ -5862,7 +5865,7 @@ "r": 1.8196618512399363, "size": 90, "x": 157.882714439454, - "y": 213.51313320184806 + "y": 213.5131332018481 }, { "age": 12.2480521366, @@ -5910,7 +5913,7 @@ "r": 1.8988142112032833, "size": 98, "x": 156.17110378887708, - "y": 165.58637764117321 + "y": 165.5863776411732 }, { "age": 16.2198576922, @@ -5926,7 +5929,7 @@ "r": 7.248256260095447, "size": 1428, "x": 162.31268807785057, - "y": 205.60096077975086 + "y": 205.6009607797509 }, { "age": 2.9972419514, @@ -6035,7 +6038,7 @@ "language": "Python", "parent": 32, "path": "pandas/tests/series/methods/test_tz_localize.py", - "r": 1.7787653512909323, + "r": 1.7787653512909325, "size": 86, "x": 124.80213571026908, "y": 192.38207336954207 @@ -6053,7 +6056,7 @@ "path": "pandas/tests/series/methods/test_truncate.py", "r": 1.2866952344782256, "size": 45, - "x": 126.06347621937925, + "x": 126.06347621937924, "y": 195.83582281152397 }, { @@ -6070,7 +6073,7 @@ "r": 1.2866952344782256, "size": 45, "x": 155.48635237131086, - "y": 182.58581330339578 + "y": 182.58581330339575 }, { "age": 363.9900081552, @@ -6118,7 +6121,7 @@ "r": 2.643907373657008, "size": 190, "x": 152.34713857428494, - "y": 184.95118295730646 + "y": 184.9511829573065 }, { "age": 267.9578206552, @@ -6227,7 +6230,7 @@ "language": "Python", "parent": 32, "path": "pandas/tests/series/methods/test_rank.py", - "r": 3.8024692509139886, + "r": 3.802469250913989, "size": 393, "x": 133.4061914970337, "y": 179.74339567400722 @@ -6326,7 +6329,7 @@ "r": 4.844843746274513, "size": 638, "x": 145.81589859256238, - "y": 188.61510130211494 + "y": 188.61510130211497 }, { "age": 9.0002164885, @@ -6342,7 +6345,7 @@ "r": 5.34318604519165, "size": 776, "x": 135.6278688010962, - "y": 188.61510130211494 + "y": 188.61510130211497 }, { "age": 331.1763391737, @@ -6373,7 +6376,7 @@ "path": "pandas/tests/series/methods/test_equals.py", "r": 1.974796588126773, "size": 106, - "x": 127.63021334942583, + "x": 127.63021334942584, "y": 179.86536703664564 }, { @@ -6389,7 +6392,7 @@ "path": "pandas/tests/series/methods/test_duplicated.py", "r": 1.2430656933567017, "size": 42, - "x": 125.52447991153437, + "x": 125.52447991153436, "y": 182.2985797998745 }, { @@ -6419,7 +6422,7 @@ "language": "Python", "parent": 32, "path": "pandas/tests/series/methods/test_dropna.py", - "r": 1.8596591974775243, + "r": 1.8596591974775245, "size": 94, "x": 133.7606634695792, "y": 174.09237380298563 @@ -6435,7 +6438,7 @@ "language": "Python", "parent": 32, "path": "pandas/tests/series/methods/test_drop_duplicates.py", - "r": 2.6646985774954914, + "r": 2.664698577495491, "size": 193, "x": 128.85675543052065, "y": 184.3397954822838 @@ -6563,7 +6566,7 @@ "language": "Python", "parent": 32, "path": "pandas/tests/series/methods/test_combine_first.py", - "r": 1.6721538446540019, + "r": 1.672153844654002, "size": 76, "x": 154.20213289599053, "y": 200.3999787715812 @@ -6614,7 +6617,7 @@ "r": 4.064364094764833, "size": 449, "x": 141.169861150164, - "y": 181.01323834369026 + "y": 181.01323834369023 }, { "age": 26.0247188033, @@ -6646,7 +6649,7 @@ "r": 1.369791678791404, "size": 51, "x": 156.1836279184618, - "y": 195.28518758783798 + "y": 195.285187587838 }, { "age": 52.2010498218, @@ -6677,7 +6680,7 @@ "path": "pandas/tests/series/methods/test_align.py", "r": 2.4861313867134034, "size": 168, - "x": 136.84129740345045, + "x": 136.84129740345043, "y": 201.63570103711515 }, { @@ -6726,7 +6729,7 @@ "r": 6.541228088120761, "size": 1163, "x": 169.56044159699996, - "y": 189.93211243332098 + "y": 189.93211243332095 }, { "age": 63.1878322292, @@ -6774,7 +6777,7 @@ "r": 4.263172541809976, "size": 494, "x": 180.3648422269307, - "y": 189.93211243332098 + "y": 189.93211243332095 }, { "age": 32.3596609329, @@ -6790,7 +6793,7 @@ "r": 2.4787211425501883, "size": 167, "x": 171.18934334031914, - "y": 198.80376184222422 + "y": 198.80376184222425 }, { "age": 318.360297507, @@ -6867,9 +6870,9 @@ "language": "Python", "parent": 35, "path": "pandas/tests/scalar/timestamp/test_unary_ops.py", - "r": 3.8121324666253122, + "r": 3.812132466625312, "size": 395, - "x": 240.45377894561378, + "x": 240.45377894561375, "y": 223.7493460219999 }, { @@ -6902,7 +6905,7 @@ "r": 4.432411409186935, "size": 534, "x": 235.911819878739, - "y": 216.86871294393018 + "y": 216.86871294393015 }, { "age": 255.3409688033, @@ -6949,8 +6952,8 @@ "path": "pandas/tests/scalar/timestamp/test_constructors.py", "r": 4.184782702921496, "size": 476, - "x": 244.52901399084746, - "y": 216.86871294393018 + "x": 244.52901399084743, + "y": 216.86871294393015 }, { "age": 18.2846377848, @@ -7045,7 +7048,7 @@ "path": "pandas/tests/scalar/test_nat.py", "r": 4.444844565192254, "size": 537, - "x": 249.16335717770514, + "x": 249.1633571777051, "y": 205.8733778113208 }, { @@ -7062,7 +7065,7 @@ "r": 2.805926703944115, "size": 214, "x": 242.2897433276915, - "y": 203.56532308098318 + "y": 203.5653230809832 }, { "age": 63.1886308403, @@ -7205,7 +7208,7 @@ "path": "pandas/tests/reshape/test_get_dummies.py", "r": 4.461368207918274, "size": 541, - "x": 100.10310371136057, + "x": 100.10310371136056, "y": 316.0202108207073 }, { @@ -7349,7 +7352,7 @@ "path": "pandas/tests/reshape/concat/test_series.py", "r": 2.020835325269761, "size": 111, - "x": 91.96912239548233, + "x": 91.96912239548232, "y": 329.0055172246655 }, { @@ -7427,7 +7430,7 @@ "language": "Python", "parent": 41, "path": "pandas/tests/reshape/concat/test_dataframe.py", - "r": 2.3802895830832678, + "r": 2.380289583083268, "size": 154, "x": 108.15596118141976, "y": 339.5328799379002 @@ -7445,7 +7448,7 @@ "path": "pandas/tests/reshape/concat/test_concat.py", "r": 4.591417091689917, "size": 573, - "x": 97.23333462204931, + "x": 97.23333462204933, "y": 333.0067609887033 }, { @@ -7491,9 +7494,9 @@ "language": "Python", "parent": 41, "path": "pandas/tests/reshape/concat/test_append.py", - "r": 3.2776370584691406, + "r": 3.277637058469141, "size": 292, - "x": 101.88712064573693, + "x": 101.88712064573691, "y": 326.6613461981742 }, { @@ -7558,7 +7561,7 @@ "r": 4.486039556611278, "size": 547, "x": 39.545295640392894, - "y": 228.56983151218242 + "y": 228.5698315121824 }, { "age": 38.4830521366, @@ -7574,7 +7577,7 @@ "r": 5.0747944424715, "size": 700, "x": 43.891672948382165, - "y": 220.05404904345926 + "y": 220.0540490434593 }, { "age": 51.14919797, @@ -7606,7 +7609,7 @@ "r": 7.042297725452743, "size": 1348, "x": 31.77458078045792, - "y": 220.05404904345926 + "y": 220.0540490434593 }, { "age": 18.048735007, @@ -7877,7 +7880,7 @@ "path": "pandas/tests/plotting/frame/test_frame_color.py", "r": 4.2023290385898795, "size": 480, - "x": 42.023054699444764, + "x": 42.02305469944477, "y": 313.10492230123 }, { @@ -7958,7 +7961,7 @@ "r": 3.371698054118375, "size": 309, "x": 25.50158873941323, - "y": 234.55619033248914 + "y": 234.5561903324891 }, { "age": 38.4887813033, @@ -7974,7 +7977,7 @@ "r": 4.055301956187869, "size": 447, "x": 18.074588729106985, - "y": 234.55619033248914 + "y": 234.5561903324891 }, { "age": 25.2167326922, @@ -7989,7 +7992,7 @@ "path": "pandas/tests/io/xml/test_xml_dtypes.py", "r": 2.678469721288425, "size": 195, - "x": 124.20276093361767, + "x": 124.20276093361768, "y": 222.43209193357984 }, { @@ -8005,8 +8008,8 @@ "path": "pandas/tests/io/xml/test_xml.py", "r": 5.161057750187301, "size": 724, - "x": 118.76190778494579, - "y": 216.78804126135782 + "x": 118.7619077849458, + "y": 216.78804126135785 }, { "age": 4.2837118589, @@ -8022,7 +8025,7 @@ "r": 4.184782702921496, "size": 476, "x": 128.1077482380546, - "y": 216.78804126135782 + "y": 216.78804126135785 }, { "age": 13.3788507477, @@ -8083,10 +8086,10 @@ "language": "Python", "parent": 59, "path": "pandas/tests/io/test_s3.py", - "r": 1.0505822596474699, + "r": 1.05058225964747, "size": 30, "x": 109.94959136679104, - "y": 206.85025463869874 + "y": 206.85025463869871 }, { "age": 2.2523692663, @@ -8131,7 +8134,7 @@ "language": "Python", "parent": 59, "path": "pandas/tests/io/test_orc.py", - "r": 2.6646985774954914, + "r": 2.664698577495491, "size": 193, "x": 137.84295953617678, "y": 266.51955110470414 @@ -8230,7 +8233,7 @@ "r": 4.073406072780611, "size": 451, "x": 133.37152641714056, - "y": 225.23783257063454 + "y": 225.23783257063457 }, { "age": 4.2837118589, @@ -8309,7 +8312,7 @@ "path": "pandas/tests/io/pytables/test_time_series.py", "r": 1.3288931239409638, "size": 48, - "x": 93.52457636921517, + "x": 93.52457636921515, "y": 289.60252408028254 }, { @@ -8323,9 +8326,9 @@ "language": "Python", "parent": 49, "path": "pandas/tests/io/pytables/test_subclass.py", - "r": 1.1823913227420013, + "r": 1.182391322742001, "size": 38, - "x": 110.05618318471335, + "x": 110.05618318471336, "y": 277.5804366164993 }, { @@ -8387,7 +8390,7 @@ "language": "Python", "parent": 49, "path": "pandas/tests/io/pytables/test_retain_attributes.py", - "r": 1.8297431574770682, + "r": 1.829743157477068, "size": 91, "x": 109.59549832241328, "y": 281.9683721143876 @@ -8405,7 +8408,7 @@ "path": "pandas/tests/io/pytables/test_read.py", "r": 2.8898970000844804, "size": 227, - "x": 106.59554792093965, + "x": 106.59554792093964, "y": 285.6119007344983 }, { @@ -8437,7 +8440,7 @@ "path": "pandas/tests/io/pytables/test_put.py", "r": 3.122427567005015, "size": 265, - "x": 105.79205203485873, + "x": 105.79205203485871, "y": 270.28721534896385 }, { @@ -8453,7 +8456,7 @@ "path": "pandas/tests/io/pytables/test_keys.py", "r": 1.435368625359761, "size": 56, - "x": 102.48148972972581, + "x": 102.4814897297258, "y": 267.1545354491069 }, { @@ -8469,7 +8472,7 @@ "path": "pandas/tests/io/pytables/test_file_handling.py", "r": 3.3934511704237664, "size": 313, - "x": 91.86328431389481, + "x": 91.8632843138948, "y": 269.883852874325 }, { @@ -8549,7 +8552,7 @@ "path": "pandas/tests/io/pytables/test_append.py", "r": 5.0054484327872, "size": 681, - "x": 103.89858577738221, + "x": 103.8985857773822, "y": 278.1914644467464 }, { @@ -8565,7 +8568,7 @@ "path": "pandas/tests/io/pytables/conftest.py", "r": 0.6361591500860411, "size": 11, - "x": 109.38356470927769, + "x": 109.38356470927768, "y": 279.5115940751524 }, { @@ -8661,7 +8664,7 @@ "path": "pandas/tests/io/parser/test_textreader.py", "r": 3.026698134861431, "size": 249, - "x": 106.56114448462935, + "x": 106.56114448462937, "y": 260.27994271761366 }, { @@ -8694,7 +8697,7 @@ "r": 4.502412018172693, "size": 551, "x": 122.7467254322313, - "y": 238.83918484311582 + "y": 238.83918484311585 }, { "age": 95.590147044, @@ -8757,7 +8760,7 @@ "path": "pandas/tests/io/parser/test_network.py", "r": 2.921550704416796, "size": 232, - "x": 118.27497398071321, + "x": 118.2749739807132, "y": 267.62682933169475 }, { @@ -8822,7 +8825,7 @@ "r": 3.056935630162118, "size": 254, "x": 121.31411459206473, - "y": 231.41682921642814 + "y": 231.41682921642817 }, { "age": 60.0569988959, @@ -8886,7 +8889,7 @@ "r": 2.1186018682367704, "size": 122, "x": 103.96540466585864, - "y": 240.02602217839086 + "y": 240.0260221783909 }, { "age": 57.0845683403, @@ -8901,7 +8904,7 @@ "path": "pandas/tests/io/parser/test_compression.py", "r": 2.0835812434823695, "size": 118, - "x": 109.81558364012339, + "x": 109.8155836401234, "y": 231.5140501863203 }, { @@ -8918,7 +8921,7 @@ "r": 1.927658610100903, "size": 101, "x": 101.71382192046232, - "y": 243.38795599677442 + "y": 243.3879559967744 }, { "age": 24.87138547, @@ -9043,7 +9046,7 @@ "language": "Python", "parent": 53, "path": "pandas/tests/io/parser/common/test_iterator.py", - "r": 1.5344736056631165, + "r": 1.5344736056631163, "size": 64, "x": 119.38970824509434, "y": 244.33818732028712 @@ -9075,7 +9078,7 @@ "language": "Python", "parent": 53, "path": "pandas/tests/io/parser/common/test_inf.py", - "r": 1.1823913227420013, + "r": 1.182391322742001, "size": 38, "x": 113.74508804608004, "y": 240.12045595210304 @@ -9107,7 +9110,7 @@ "language": "Python", "parent": 53, "path": "pandas/tests/io/parser/common/test_float.py", - "r": 1.2131079008266241, + "r": 1.213107900826624, "size": 40, "x": 107.38757861347642, "y": 243.37163688678072 @@ -9126,7 +9129,7 @@ "r": 3.2832446537726128, "size": 293, "x": 117.99734241226729, - "y": 248.95031552913778 + "y": 248.95031552913775 }, { "age": 174.06982297, @@ -9139,7 +9142,7 @@ "language": "Python", "parent": 53, "path": "pandas/tests/io/parser/common/test_decimal.py", - "r": 1.2131079008266241, + "r": 1.213107900826624, "size": 40, "x": 107.35944890696253, "y": 254.51656761492157 @@ -9158,7 +9161,7 @@ "r": 1.2577770420374896, "size": 43, "x": 119.16954530713122, - "y": 253.33743513260094 + "y": 253.33743513260097 }, { "age": 63.1797072292, @@ -9174,7 +9177,7 @@ "r": 4.878896171379449, "size": 647, "x": 109.83520158711522, - "y": 248.95031552913778 + "y": 248.95031552913775 }, { "age": 72.0651933403, @@ -9206,7 +9209,7 @@ "r": 5.95844715882691, "size": 965, "x": 105.41871565374927, - "y": 218.04146862098298 + "y": 218.04146862098295 }, { "age": 196.538897044, @@ -9221,8 +9224,8 @@ "path": "pandas/tests/io/json/test_readlines.py", "r": 2.6299552584645807, "size": 188, - "x": 92.03802446215805, - "y": 227.85044908246326 + "x": 92.03802446215803, + "y": 227.85044908246329 }, { "age": 2.9997882477, @@ -9237,8 +9240,8 @@ "path": "pandas/tests/io/json/test_pandas.py", "r": 7.181967613797187, "size": 1402, - "x": 92.27830088112519, - "y": 218.04146862098298 + "x": 92.2783008811252, + "y": 218.04146862098295 }, { "age": 87.0320451922, @@ -9302,7 +9305,7 @@ "r": 0.8996648978794206, "size": 22, "x": 105.3783849890584, - "y": 224.89946208990858 + "y": 224.89946208990855 }, { "age": 4.2837118589, @@ -9333,7 +9336,7 @@ "path": "pandas/tests/io/generate_legacy_storage_files.py", "r": 3.0868769483631286, "size": 259, - "x": 113.79813420668219, + "x": 113.7981342066822, "y": 208.36923018408265 }, { @@ -9398,7 +9401,7 @@ "r": 5.0529985173639655, "size": 694, "x": 79.51986149252242, - "y": 236.56201780600622 + "y": 236.56201780600625 }, { "age": 7.0015706552, @@ -9494,7 +9497,7 @@ "r": 9.806685036789212, "size": 2614, "x": 88.53598476368724, - "y": 248.37386425305806 + "y": 248.3738642530581 }, { "age": 16.2198576922, @@ -9510,7 +9513,7 @@ "r": 2.7193647538931023, "size": 201, "x": 64.40183299288402, - "y": 232.23422707365654 + "y": 232.23422707365657 }, { "age": 7.0015706552, @@ -9605,7 +9608,7 @@ "path": "pandas/tests/io/formats/style/test_style.py", "r": 6.792321026214392, "size": 1254, - "x": 60.161834353498044, + "x": 60.16183435349805, "y": 248.40005064308417 }, { @@ -9622,7 +9625,7 @@ "r": 1.7890771208724776, "size": 87, "x": 57.08448700837393, - "y": 240.38941224928038 + "y": 240.3894122492804 }, { "age": 130.3075081552, @@ -9686,7 +9689,7 @@ "r": 3.515920724931525, "size": 336, "x": 67.63096617928373, - "y": 241.29569157494134 + "y": 241.29569157494137 }, { "age": 110.3103553774, @@ -9733,7 +9736,7 @@ "path": "pandas/tests/io/formats/data/html/gh40024_expected_output.html", "r": 0.8137775190871214, "size": 18, - "x": 92.83059136165703, + "x": 92.83059136165704, "y": 259.3543323416845 }, { @@ -9749,7 +9752,7 @@ "path": "pandas/tests/io/formats/data/html/gh13828_expected_output.html", "r": 0.8789801812328812, "size": 21, - "x": 91.13783366133703, + "x": 91.13783366133704, "y": 259.3543323416845 }, { @@ -9957,7 +9960,7 @@ "path": "pandas/tests/internals/test_managers.py", "r": 1.3562958651452024, "size": 50, - "x": 110.41445250999469, + "x": 110.41445250999467, "y": 137.5077810156149 }, { @@ -10037,7 +10040,7 @@ "path": "pandas/tests/indexing/test_na_indexing.py", "r": 1.460775352208398, "size": 58, - "x": 229.65196016866162, + "x": 229.6519601686616, "y": 328.53837285879285 }, { @@ -10051,7 +10054,7 @@ "language": "Python", "parent": 63, "path": "pandas/tests/indexing/test_loc.py", - "r": 9.138656723554769, + "r": 9.138656723554767, "size": 2270, "x": 231.70292567014215, "y": 311.8319487904972 @@ -10083,7 +10086,7 @@ "language": "Python", "parent": 63, "path": "pandas/tests/indexing/test_indexers.py", - "r": 1.2723183001720821, + "r": 1.272318300172082, "size": 44, "x": 225.62559230208848, "y": 291.4230891285935 @@ -10115,9 +10118,9 @@ "language": "Python", "parent": 63, "path": "pandas/tests/indexing/test_iat.py", - "r": 1.0505822596474699, + "r": 1.05058225964747, "size": 30, - "x": 203.38695856019842, + "x": 203.3869585601984, "y": 301.2370551537153 }, { @@ -10197,7 +10200,7 @@ "path": "pandas/tests/indexing/test_chaining_and_caching.py", "r": 3.531581919258226, "size": 339, - "x": 205.72767442287162, + "x": 205.7276744228716, "y": 297.29785754345545 }, { @@ -10277,7 +10280,7 @@ "path": "pandas/tests/indexing/multiindex/test_setitem.py", "r": 3.669526076796431, "size": 366, - "x": 211.75126463362062, + "x": 211.75126463362065, "y": 318.9449719821058 }, { @@ -10325,7 +10328,7 @@ "path": "pandas/tests/indexing/multiindex/test_loc.py", "r": 5.078418001978157, "size": 701, - "x": 206.53930928122574, + "x": 206.53930928122577, "y": 311.91915907469007 }, { @@ -10339,7 +10342,7 @@ "language": "Python", "parent": 61, "path": "pandas/tests/indexing/multiindex/test_indexing_slow.py", - "r": 1.6388185292345703, + "r": 1.6388185292345705, "size": 73, "x": 202.28182510189697, "y": 306.7234786496616 @@ -10421,7 +10424,7 @@ "path": "pandas/tests/indexing/interval/test_interval.py", "r": 2.161579913738405, "size": 127, - "x": 207.07613364672062, + "x": 207.07613364672065, "y": 326.92944087235674 }, { @@ -10501,7 +10504,7 @@ "path": "pandas/tests/indexes/timedeltas/test_pickle.py", "r": 0.542518346058081, "size": 8, - "x": 183.04746563764058, + "x": 183.04746563764056, "y": 343.9601945424456 }, { @@ -10579,7 +10582,7 @@ "language": "Python", "parent": 65, "path": "pandas/tests/indexes/timedeltas/methods/test_repeat.py", - "r": 1.0505822596474699, + "r": 1.05058225964747, "size": 30, "x": 181.9668660840719, "y": 350.6211324102201 @@ -10645,7 +10648,7 @@ "path": "pandas/tests/indexes/test_numpy_compat.py", "r": 2.285670419290656, "size": 142, - "x": 124.50449598182433, + "x": 124.50449598182432, "y": 315.531996442612 }, { @@ -10691,7 +10694,7 @@ "language": "Python", "parent": 76, "path": "pandas/tests/indexes/test_frozen.py", - "r": 1.6721538446540019, + "r": 1.672153844654002, "size": 76, "x": 159.6735272431452, "y": 293.8581382252831 @@ -10757,7 +10760,7 @@ "path": "pandas/tests/indexes/test_any_index.py", "r": 2.1869613695504384, "size": 130, - "x": 164.18929767205663, + "x": 164.18929767205665, "y": 294.30056770175145 }, { @@ -10773,7 +10776,7 @@ "path": "pandas/tests/indexes/ranges/test_setops.py", "r": 3.6945061206702583, "size": 371, - "x": 181.47460088680577, + "x": 181.47460088680575, "y": 304.69005486921225 }, { @@ -10917,7 +10920,7 @@ "path": "pandas/tests/indexes/period/test_pickle.py", "r": 0.8577968229854838, "size": 20, - "x": 169.44857076023627, + "x": 169.4485707602363, "y": 352.41135405670974 }, { @@ -11123,7 +11126,7 @@ "language": "Python", "parent": 68, "path": "pandas/tests/indexes/period/methods/test_factorize.py", - "r": 1.1823913227420013, + "r": 1.182391322742001, "size": 38, "x": 162.98988679019232, "y": 359.36889452294315 @@ -11187,7 +11190,7 @@ "language": "Python", "parent": 70, "path": "pandas/tests/indexes/numeric/test_setops.py", - "r": 2.1099012077867854, + "r": 2.109901207786786, "size": 121, "x": 141.7454539403256, "y": 294.8620413151095 @@ -11347,7 +11350,7 @@ "language": "Python", "parent": 71, "path": "pandas/tests/indexes/multi/test_partial_indexing.py", - "r": 1.7787653512909323, + "r": 1.7787653512909325, "size": 86, "x": 163.1858592758453, "y": 326.7565268223205 @@ -11429,7 +11432,7 @@ "path": "pandas/tests/indexes/multi/test_integrity.py", "r": 2.6229513705079057, "size": 187, - "x": 163.74307000096167, + "x": 163.7430700009617, "y": 331.12283261861774 }, { @@ -11493,7 +11496,7 @@ "path": "pandas/tests/indexes/multi/test_formats.py", "r": 1.946650779171381, "size": 103, - "x": 185.83413875264662, + "x": 185.83413875264665, "y": 326.845267369311 }, { @@ -11509,7 +11512,7 @@ "path": "pandas/tests/indexes/multi/test_equivalence.py", "r": 2.671593022595825, "size": 194, - "x": 180.87532239520542, + "x": 180.87532239520544, "y": 333.9543490723605 }, { @@ -11541,7 +11544,7 @@ "path": "pandas/tests/indexes/multi/test_drop.py", "r": 2.269517069040884, "size": 140, - "x": 184.78102816740562, + "x": 184.7810281674056, "y": 330.92779470168153 }, { @@ -11699,7 +11702,7 @@ "language": "Python", "parent": 72, "path": "pandas/tests/indexes/interval/test_formats.py", - "r": 1.8596591974775243, + "r": 1.8596591974775245, "size": 94, "x": 156.1762535457966, "y": 312.3998451720753 @@ -11859,7 +11862,7 @@ "language": "Python", "parent": 73, "path": "pandas/tests/indexes/datetimes/test_ops.py", - "r": 1.5582653129134219, + "r": 1.558265312913422, "size": 66, "x": 148.5730217934001, "y": 312.46272464614555 @@ -11877,7 +11880,7 @@ "path": "pandas/tests/indexes/datetimes/test_misc.py", "r": 3.0145182136821247, "size": 247, - "x": 127.87561413339243, + "x": 127.87561413339245, "y": 321.3325847514084 }, { @@ -11893,7 +11896,7 @@ "path": "pandas/tests/indexes/datetimes/test_join.py", "r": 2.0479618454177166, "size": 114, - "x": 128.59756683319173, + "x": 128.5975668331917, "y": 328.48724137454025 }, { @@ -12021,7 +12024,7 @@ "path": "pandas/tests/indexes/datetimes/test_asof.py", "r": 0.9396693394108308, "size": 24, - "x": 155.58849621689095, + "x": 155.58849621689097, "y": 326.18045202058545 }, { @@ -12067,7 +12070,7 @@ "language": "Python", "parent": 74, "path": "pandas/tests/indexes/datetimes/methods/test_repeat.py", - "r": 1.5582653129134219, + "r": 1.558265312913422, "size": 66, "x": 142.10429989646548, "y": 311.01623311294884 @@ -12163,7 +12166,7 @@ "language": "Python", "parent": 75, "path": "pandas/tests/indexes/datetimelike_/test_nat.py", - "r": 1.1823913227420013, + "r": 1.182391322742001, "size": 38, "x": 150.90539753894686, "y": 287.012519779785 @@ -12309,7 +12312,7 @@ "path": "pandas/tests/indexes/categorical/test_indexing.py", "r": 3.377149469245007, "size": 310, - "x": 123.62486859163215, + "x": 123.62486859163216, "y": 306.72088890145454 }, { @@ -12341,7 +12344,7 @@ "path": "pandas/tests/indexes/categorical/test_fillna.py", "r": 1.1184302223164313, "size": 34, - "x": 130.14298499841217, + "x": 130.14298499841215, "y": 311.1998955324693 }, { @@ -12355,7 +12358,7 @@ "language": "Python", "parent": 77, "path": "pandas/tests/indexes/categorical/test_equals.py", - "r": 1.5224383327414501, + "r": 1.52243833274145, "size": 63, "x": 124.12265790044724, "y": 301.84665394267347 @@ -12403,7 +12406,7 @@ "language": "Python", "parent": 77, "path": "pandas/tests/indexes/categorical/test_append.py", - "r": 1.2723183001720821, + "r": 1.272318300172082, "size": 44, "x": 123.73094421965249, "y": 311.36914647822334 @@ -12550,7 +12553,7 @@ "r": 2.2286215199730366, "size": 135, "x": 102.0420937102914, - "y": 193.68607773164734 + "y": 193.68607773164737 }, { "age": 137.3434688033, @@ -12630,7 +12633,7 @@ "r": 3.056935630162118, "size": 254, "x": 108.96671870788646, - "y": 190.81736255435058 + "y": 190.81736255435055 }, { "age": 16.2198576922, @@ -12661,7 +12664,7 @@ "path": "pandas/tests/groupby/test_numba.py", "r": 1.498077747664709, "size": 61, - "x": 90.15784084868999, + "x": 90.15784084869, "y": 194.4249417071463 }, { @@ -12693,8 +12696,8 @@ "path": "pandas/tests/groupby/test_missing.py", "r": 2.0835812434823695, "size": 118, - "x": 106.11732382447211, - "y": 195.09589764554661 + "x": 106.11732382447212, + "y": 195.0958976455466 }, { "age": 165.9782373218, @@ -12773,7 +12776,7 @@ "path": "pandas/tests/groupby/test_groupby_subclass.py", "r": 1.7579603624657625, "size": 84, - "x": 98.08258657658239, + "x": 98.0825865765824, "y": 147.02000868989143 }, { @@ -12789,8 +12792,8 @@ "path": "pandas/tests/groupby/test_groupby_shift_diff.py", "r": 1.9180920070788956, "size": 100, - "x": 120.32601950140689, - "y": 182.68196353400154 + "x": 120.32601950140688, + "y": 182.6819635340015 }, { "age": 7.1501007477, @@ -12853,7 +12856,7 @@ "path": "pandas/tests/groupby/test_filters.py", "r": 4.091430081483828, "size": 455, - "x": 95.74266963751779, + "x": 95.7426696375178, "y": 194.19628219697276 }, { @@ -12901,7 +12904,7 @@ "path": "pandas/tests/groupby/test_bin_groupby.py", "r": 1.4095040091162463, "size": 54, - "x": 107.54352192815895, + "x": 107.54352192815897, "y": 149.1963118256885 }, { @@ -12918,7 +12921,7 @@ "r": 2.0479618454177166, "size": 114, "x": 81.11072601071825, - "y": 189.10298266664694 + "y": 189.10298266664697 }, { "age": 18.2846377848, @@ -12965,7 +12968,7 @@ "path": "pandas/tests/groupby/test_allowlist.py", "r": 3.536786906488404, "size": 340, - "x": 119.32167761708659, + "x": 119.3216776170866, "y": 165.89647200630645 }, { @@ -12997,7 +13000,7 @@ "path": "pandas/tests/groupby/aggregate/test_other.py", "r": 4.276097804034788, "size": 497, - "x": 96.05033160797609, + "x": 96.05033160797608, "y": 171.10075471425722 }, { @@ -13014,7 +13017,7 @@ "r": 2.277608064646796, "size": 141, "x": 92.19783789662496, - "y": 165.79892929114195 + "y": 165.79892929114197 }, { "age": 95.3513275996, @@ -13029,7 +13032,7 @@ "path": "pandas/tests/groupby/aggregate/test_cython.py", "r": 3.3498036793580654, "size": 305, - "x": 92.39725168409747, + "x": 92.39725168409748, "y": 177.7947356302868 }, { @@ -13091,7 +13094,7 @@ "language": "Python", "parent": 82, "path": "pandas/tests/generic/test_label_or_level_utils.py", - "r": 2.5301371284692666, + "r": 2.530137128469266, "size": 174, "x": 260.1590803340297, "y": 247.6833525022245 @@ -13155,7 +13158,7 @@ "language": "Python", "parent": 82, "path": "pandas/tests/generic/test_duplicate_labels.py", - "r": 3.7537800560747283, + "r": 3.753780056074728, "size": 383, "x": 263.54138831236645, "y": 252.97935173956267 @@ -13173,7 +13176,7 @@ "path": "pandas/tests/frame/test_unary.py", "r": 2.2937044349908127, "size": 143, - "x": 216.45449968519713, + "x": 216.4544996851971, "y": 227.3932364295742 }, { @@ -13190,7 +13193,7 @@ "r": 2.799363123717694, "size": 213, "x": 175.97352425345056, - "y": 221.42055262281002 + "y": 221.42055262281 }, { "age": 32.3556215811, @@ -13205,7 +13208,7 @@ "path": "pandas/tests/frame/test_subclass.py", "r": 4.583397143049018, "size": 571, - "x": 220.46757465042262, + "x": 220.46757465042265, "y": 232.97801533640285 }, { @@ -13269,7 +13272,7 @@ "path": "pandas/tests/frame/test_query_eval.py", "r": 6.06553950413312, "size": 1000, - "x": 184.44199484829574, + "x": 184.44199484829576, "y": 218.7991971746651 }, { @@ -13301,7 +13304,7 @@ "path": "pandas/tests/frame/test_cumulative.py", "r": 1.3288931239409638, "size": 48, - "x": 210.87055336220618, + "x": 210.87055336220615, "y": 224.28880032963804 }, { @@ -13317,7 +13320,7 @@ "path": "pandas/tests/frame/test_constructors.py", "r": 9.194845744019112, "size": 2298, - "x": 208.36197593930726, + "x": 208.36197593930729, "y": 272.6149256236445 }, { @@ -13331,9 +13334,9 @@ "language": "Python", "parent": 86, "path": "pandas/tests/frame/test_block_internals.py", - "r": 3.3332885236373158, + "r": 3.333288523637316, "size": 302, - "x": 220.55583607516638, + "x": 220.5558360751664, "y": 269.7402216013958 }, { @@ -13414,7 +13417,7 @@ "r": 1.9654594361118072, "size": 105, "x": 187.4735553181152, - "y": 230.29128541779298 + "y": 230.29128541779295 }, { "age": 57.3697998218, @@ -13429,7 +13432,7 @@ "path": "pandas/tests/frame/methods/test_tz_localize.py", "r": 1.3149776292322903, "size": 47, - "x": 181.57209321478302, + "x": 181.57209321478305, "y": 276.57567121452075 }, { @@ -13443,7 +13446,7 @@ "language": "Python", "parent": 83, "path": "pandas/tests/frame/methods/test_tz_convert.py", - "r": 1.8297431574770682, + "r": 1.829743157477068, "size": 91, "x": 175.04407376609922, "y": 226.13421552459187 @@ -13510,7 +13513,7 @@ "r": 3.4258218667799447, "size": 319, "x": 160.32233386507906, - "y": 238.46452149954342 + "y": 238.46452149954345 }, { "age": 57.3697998218, @@ -13541,7 +13544,7 @@ "path": "pandas/tests/frame/methods/test_to_dict_of_blocks.py", "r": 1.3009132930004117, "size": 46, - "x": 200.54972622527922, + "x": 200.5497262252792, "y": 242.13590694030503 }, { @@ -13621,7 +13624,7 @@ "path": "pandas/tests/frame/methods/test_shift.py", "r": 4.276097804034788, "size": 497, - "x": 193.93173149814677, + "x": 193.93173149814675, "y": 248.5791087039914 }, { @@ -13653,7 +13656,7 @@ "path": "pandas/tests/frame/methods/test_set_axis.py", "r": 1.8196618512399363, "size": 90, - "x": 185.20004417719034, + "x": 185.2000441771903, "y": 227.26501869920156 }, { @@ -13686,7 +13689,7 @@ "r": 3.026698134861431, "size": 249, "x": 190.46226304799237, - "y": 234.28994310741803 + "y": 234.28994310741805 }, { "age": 287.066547507, @@ -13798,7 +13801,7 @@ "r": 3.7927814154250954, "size": 391, "x": 183.6496796253719, - "y": 234.59655107635058 + "y": 234.59655107635055 }, { "age": 18.2846377848, @@ -13830,7 +13833,7 @@ "r": 1.0329241573367254, "size": 29, "x": 169.1366647444924, - "y": 227.77767413554318 + "y": 227.7776741355432 }, { "age": 163.0700775996, @@ -13862,7 +13865,7 @@ "r": 3.1807957504302053, "size": 275, "x": 196.12070158886877, - "y": 241.45073782246834 + "y": 241.4507378224683 }, { "age": 197.3844178774, @@ -13894,7 +13897,7 @@ "r": 3.526369249377526, "size": 338, "x": 179.95134766647567, - "y": 228.28051535955106 + "y": 228.28051535955103 }, { "age": 255.3409688033, @@ -14037,7 +14040,7 @@ "path": "pandas/tests/frame/methods/test_diff.py", "r": 2.9025999052659115, "size": 229, - "x": 192.09431710028142, + "x": 192.09431710028144, "y": 267.6220534447655 }, { @@ -14102,7 +14105,7 @@ "r": 1.0329241573367254, "size": 29, "x": 158.81216574919017, - "y": 234.26930894600946 + "y": 234.26930894600943 }, { "age": 209.9972998218, @@ -14166,7 +14169,7 @@ "r": 3.869605041449732, "size": 407, "x": 174.88879523577435, - "y": 233.67226819114282 + "y": 233.6722681911428 }, { "age": 18.0504363959, @@ -14211,7 +14214,7 @@ "language": "Python", "parent": 83, "path": "pandas/tests/frame/methods/test_at_time.py", - "r": 1.8596591974775243, + "r": 1.8596591974775245, "size": 94, "x": 189.82122976919408, "y": 271.8068097993115 @@ -14229,7 +14232,7 @@ "path": "pandas/tests/frame/methods/test_astype.py", "r": 4.65507929271688, "size": 589, - "x": 188.28755391210626, + "x": 188.28755391210623, "y": 241.65746267788035 }, { @@ -14245,7 +14248,7 @@ "path": "pandas/tests/frame/methods/test_asof.py", "r": 2.203719939297716, "size": 132, - "x": 199.64491329390978, + "x": 199.64491329390975, "y": 245.52172554917277 }, { @@ -14261,7 +14264,7 @@ "path": "pandas/tests/frame/methods/test_asfreq.py", "r": 2.2450691344008376, "size": 137, - "x": 184.03337624497686, + "x": 184.0333762449769, "y": 274.00350893260025 }, { @@ -14309,7 +14312,7 @@ "path": "pandas/tests/frame/indexing/test_xs.py", "r": 3.3277652579976307, "size": 301, - "x": 222.55054811931205, + "x": 222.55054811931203, "y": 244.05200059527752 }, { @@ -14342,7 +14345,7 @@ "r": 5.644537746032773, "size": 866, "x": 227.94383440529185, - "y": 251.22240394750222 + "y": 251.22240394750224 }, { "age": 48.4014317663, @@ -14357,7 +14360,7 @@ "path": "pandas/tests/frame/indexing/test_set_value.py", "r": 1.3149776292322903, "size": 47, - "x": 212.65760427374346, + "x": 212.65760427374343, "y": 243.96563833844755 }, { @@ -14373,7 +14376,7 @@ "path": "pandas/tests/frame/indexing/test_mask.py", "r": 2.0658483146734508, "size": 116, - "x": 215.45205353316283, + "x": 215.45205353316285, "y": 259.85017481356846 }, { @@ -14405,8 +14408,8 @@ "path": "pandas/tests/frame/indexing/test_indexing.py", "r": 6.5664893075452255, "size": 1172, - "x": 215.73280735171386, - "y": 251.22240394750222 + "x": 215.73280735171383, + "y": 251.22240394750224 }, { "age": 50.1914086181, @@ -14501,7 +14504,7 @@ "path": "pandas/tests/extension/test_string.py", "r": 2.195356645600466, "size": 131, - "x": 247.58947889159202, + "x": 247.589478891592, "y": 296.35833869737775 }, { @@ -14629,7 +14632,7 @@ "path": "pandas/tests/extension/test_datetime.py", "r": 1.993339685911446, "size": 108, - "x": 254.97840632725305, + "x": 254.97840632725303, "y": 265.3573026147956 }, { @@ -14725,7 +14728,7 @@ "path": "pandas/tests/extension/decimal/test_decimal.py", "r": 3.4042756035613264, "size": 315, - "x": 253.51187451352254, + "x": 253.51187451352257, "y": 279.7420272825902 }, { @@ -14885,7 +14888,7 @@ "path": "pandas/tests/extension/base/methods.py", "r": 4.03711665399408, "size": 443, - "x": 236.04889588537762, + "x": 236.0488958853776, "y": 280.29831557525205 }, { @@ -14995,7 +14998,7 @@ "language": "Python", "parent": 92, "path": "pandas/tests/extension/base/casting.py", - "r": 1.5224383327414501, + "r": 1.52243833274145, "size": 63, "x": 247.9775853226888, "y": 283.0205325203406 @@ -15123,7 +15126,7 @@ "language": "Python", "parent": 94, "path": "pandas/tests/dtypes/test_generic.py", - "r": 1.8695248327419853, + "r": 1.869524832741985, "size": 95, "x": 109.5057289828479, "y": 378.34103945212325 @@ -15141,7 +15144,7 @@ "path": "pandas/tests/dtypes/test_dtypes.py", "r": 5.618405486486281, "size": 858, - "x": 122.10055597887393, + "x": 122.10055597887391, "y": 368.944429806511 }, { @@ -15187,9 +15190,9 @@ "language": "Python", "parent": 95, "path": "pandas/tests/dtypes/cast/test_promote.py", - "r": 3.6895236421784587, + "r": 3.6895236421784583, "size": 370, - "x": 114.95072595220775, + "x": 114.95072595220776, "y": 379.685827569324 }, { @@ -15219,9 +15222,9 @@ "language": "Python", "parent": 95, "path": "pandas/tests/dtypes/cast/test_infer_dtype.py", - "r": 2.4262158016532482, + "r": 2.426215801653248, "size": 160, - "x": 121.06646539603945, + "x": 121.06646539603943, "y": 379.685827569324 }, { @@ -15285,7 +15288,7 @@ "path": "pandas/tests/dtypes/cast/test_construct_from_scalar.py", "r": 1.1184302223164313, "size": 34, - "x": 116.45711269966515, + "x": 116.45711269966516, "y": 384.2517030965582 }, { @@ -15413,7 +15416,7 @@ "path": "pandas/tests/base/test_transpose.py", "r": 1.2866952344782256, "size": 45, - "x": 27.477462744482718, + "x": 27.47746274448272, "y": 205.4464059603316 }, { @@ -15429,7 +15432,7 @@ "path": "pandas/tests/base/test_misc.py", "r": 2.269517069040884, "size": 140, - "x": 30.969647470364638, + "x": 30.96964747036464, "y": 204.77462341514473 }, { @@ -15459,7 +15462,7 @@ "language": "Python", "parent": 99, "path": "pandas/tests/base/test_conversion.py", - "r": 3.8885738072869316, + "r": 3.888573807286931, "size": 411, "x": 26.708856902337907, "y": 200.3285299639759 @@ -15491,7 +15494,7 @@ "language": "Python", "parent": 100, "path": "pandas/tests/arrays/timedeltas/test_reductions.py", - "r": 2.4262158016532482, + "r": 2.426215801653248, "size": 160, "x": 219.68329320622, "y": 162.03780456926614 @@ -15507,7 +15510,7 @@ "language": "Python", "parent": 100, "path": "pandas/tests/arrays/timedeltas/test_constructors.py", - "r": 1.2723183001720821, + "r": 1.272318300172082, "size": 44, "x": 223.38182730804533, "y": 162.03780456926614 @@ -15557,8 +15560,8 @@ "path": "pandas/tests/arrays/test_numpy.py", "r": 2.636940543698644, "size": 189, - "x": 217.34843634584942, - "y": 204.94072944744366 + "x": 217.34843634584945, + "y": 204.9407294474437 }, { "age": 310.4451817663, @@ -15573,7 +15576,7 @@ "path": "pandas/tests/arrays/test_ndarray_backed.py", "r": 1.4481277085061832, "size": 57, - "x": 215.83915574287246, + "x": 215.8391557428725, "y": 161.4810207603493 }, { @@ -15685,7 +15688,7 @@ "path": "pandas/tests/arrays/sparse/test_reductions.py", "r": 2.8385169570195776, "size": 219, - "x": 219.12451696662242, + "x": 219.1245169666224, "y": 177.297101388786 }, { @@ -15702,7 +15705,7 @@ "r": 3.907450490105124, "size": 415, "x": 220.88608508602633, - "y": 183.80901006123878 + "y": 183.8090100612388 }, { "age": 10.0573924144, @@ -15781,8 +15784,8 @@ "path": "pandas/tests/arrays/sparse/test_arithmetics.py", "r": 3.7927814154250954, "size": 391, - "x": 228.58631699155654, - "y": 183.80901006123878 + "x": 228.58631699155657, + "y": 183.8090100612388 }, { "age": 19.0864433403, @@ -15813,7 +15816,7 @@ "path": "pandas/tests/arrays/period/test_constructors.py", "r": 1.839769222432626, "size": 92, - "x": 191.06556003848854, + "x": 191.06556003848857, "y": 170.08994567762127 }, { @@ -15829,7 +15832,7 @@ "path": "pandas/tests/arrays/period/test_astype.py", "r": 1.4224951041008789, "size": 55, - "x": 192.92931071149522, + "x": 192.9293107114952, "y": 172.76740752889765 }, { @@ -15843,7 +15846,7 @@ "language": "Python", "parent": 103, "path": "pandas/tests/arrays/period/test_arrow_compat.py", - "r": 1.7787653512909323, + "r": 1.7787653512909325, "size": 86, "x": 194.6840946122121, "y": 170.08994567762127 @@ -15859,10 +15862,10 @@ "language": "Python", "parent": 104, "path": "pandas/tests/arrays/masked_shared.py", - "r": 1.8695248327419853, + "r": 1.869524832741985, "size": 95, "x": 233.95440804823065, - "y": 174.30011292342473 + "y": 174.3001129234247 }, { "age": 31.4675544514, @@ -15875,7 +15878,7 @@ "language": "Python", "parent": 105, "path": "pandas/tests/arrays/masked/test_indexing.py", - "r": 1.2131079008266241, + "r": 1.213107900826624, "size": 40, "x": 192.83560788736628, "y": 200.25126518749104 @@ -15910,7 +15913,7 @@ "r": 2.1530529380396417, "size": 126, "x": 194.98388473601764, - "y": 197.65975107896966 + "y": 197.6597510789697 }, { "age": 8.9787928774, @@ -15926,7 +15929,7 @@ "r": 2.170073384232324, "size": 128, "x": 190.66075841374567, - "y": 197.65975107896966 + "y": 197.6597510789697 }, { "age": 15.9197072292, @@ -15974,7 +15977,7 @@ "r": 2.7261209500299675, "size": 202, "x": 216.1118172797385, - "y": 169.18460894147537 + "y": 169.18460894147535 }, { "age": 22.0125428774, @@ -16021,8 +16024,8 @@ "path": "pandas/tests/arrays/integer/test_arithmetic.py", "r": 2.8514487640916997, "size": 221, - "x": 210.53424756561682, - "y": 169.18460894147537 + "x": 210.5342475656168, + "y": 169.18460894147535 }, { "age": 48.4165590811, @@ -16067,7 +16070,7 @@ "language": "Python", "parent": 108, "path": "pandas/tests/arrays/floating/test_comparison.py", - "r": 1.2723183001720821, + "r": 1.272318300172082, "size": 44, "x": 199.5146859462405, "y": 161.4361633156345 @@ -16117,7 +16120,7 @@ "path": "pandas/tests/arrays/datetimes/test_reductions.py", "r": 2.1869613695504384, "size": 130, - "x": 231.62735892830662, + "x": 231.62735892830665, "y": 196.44856135338512 }, { @@ -16197,7 +16200,7 @@ "path": "pandas/tests/arrays/categorical/test_operators.py", "r": 3.305579908946574, "size": 297, - "x": 203.16065619321517, + "x": 203.16065619321515, "y": 177.58093778891944 }, { @@ -16211,7 +16214,7 @@ "language": "Python", "parent": 110, "path": "pandas/tests/arrays/categorical/test_missing.py", - "r": 2.4262158016532482, + "r": 2.426215801653248, "size": 160, "x": 208.88217876205323, "y": 177.92395610086132 @@ -16262,7 +16265,7 @@ "r": 4.514652399666502, "size": 554, "x": 198.3650365765864, - "y": 183.75815932074758 + "y": 183.7581593207476 }, { "age": 25.2182836181, @@ -16278,7 +16281,7 @@ "r": 1.6275550381742427, "size": 72, "x": 193.59046216101464, - "y": 187.62211472416953 + "y": 187.6221147241695 }, { "age": 3.0004363959, @@ -16294,7 +16297,7 @@ "r": 3.8073039245143785, "size": 394, "x": 206.68699290076725, - "y": 183.75815932074758 + "y": 183.7581593207476 }, { "age": 50.0289086181, @@ -16309,7 +16312,7 @@ "path": "pandas/tests/arrays/categorical/test_analytics.py", "r": 3.169208113551783, "size": 273, - "x": 196.71396460785778, + "x": 196.71396460785775, "y": 191.26253629293345 }, { @@ -16403,7 +16406,7 @@ "language": "Python", "parent": 111, "path": "pandas/tests/arrays/boolean/test_comparison.py", - "r": 1.2723183001720821, + "r": 1.272318300172082, "size": 44, "x": 199.77864888560205, "y": 197.6692851196086 @@ -16419,9 +16422,9 @@ "language": "Python", "parent": 111, "path": "pandas/tests/arrays/boolean/test_arithmetic.py", - "r": 1.8297431574770682, + "r": 1.829743157477068, "size": 91, - "x": 202.83697428209962, + "x": 202.8369742820996, "y": 198.18835260671435 }, { @@ -16563,7 +16566,7 @@ "language": "Python", "parent": 112, "path": "pandas/tests/arithmetic/common.py", - "r": 1.8095243804330883, + "r": 1.8095243804330885, "size": 89, "x": 190.62356977623205, "y": 158.35611382734123 @@ -16630,7 +16633,7 @@ "r": 4.756713490201262, "size": 615, "x": 173.59485433066078, - "y": 125.31170269103053 + "y": 125.31170269103052 }, { "age": 57.3697998218, @@ -16675,10 +16678,10 @@ "language": "Python", "parent": 113, "path": "pandas/tests/apply/test_frame_apply_relabeling.py", - "r": 1.6721538446540019, + "r": 1.672153844654002, "size": 76, "x": 164.6427894737885, - "y": 133.01480081673643 + "y": 133.01480081673645 }, { "age": 51.4535961181, @@ -16694,7 +16697,7 @@ "r": 6.318068128920138, "size": 1085, "x": 162.52007271153937, - "y": 125.31170269103053 + "y": 125.31170269103052 }, { "age": 351.9104363959, @@ -16726,7 +16729,7 @@ "r": 0.5074794442471501, "size": 7, "x": 161.88154949914363, - "y": 118.51608735606625 + "y": 118.51608735606624 }, { "age": 363.4418368589, @@ -16789,7 +16792,7 @@ "path": "pandas/plotting/_matplotlib/tools.py", "r": 3.215308106980115, "size": 281, - "x": 234.21530871264798, + "x": 234.215308712648, "y": 140.7193992055059 }, { @@ -16853,8 +16856,8 @@ "path": "pandas/plotting/_matplotlib/hist.py", "r": 3.826581535983179, "size": 398, - "x": 241.07343365740923, - "y": 123.08818444582727 + "x": 241.07343365740925, + "y": 123.08818444582728 }, { "age": 55.3516169514, @@ -16869,7 +16872,7 @@ "path": "pandas/plotting/_matplotlib/groupby.py", "r": 1.2577770420374896, "size": 43, - "x": 230.32964056989482, + "x": 230.3296405698948, "y": 123.82667599444264 }, { @@ -16901,7 +16904,7 @@ "path": "pandas/plotting/_matplotlib/converter.py", "r": 5.397989387276523, "size": 792, - "x": 246.06984198258402, + "x": 246.069841982584, "y": 130.84244859959276 }, { @@ -16931,7 +16934,7 @@ "language": "Python", "parent": 115, "path": "pandas/plotting/_matplotlib/boxplot.py", - "r": 3.9355957553437797, + "r": 3.93559575534378, "size": 421, "x": 241.0848741678448, "y": 138.7333235511147 @@ -16963,7 +16966,7 @@ "language": "Python", "parent": 116, "path": "pandas/plotting/_core.py", - "r": 3.9912909168832043, + "r": 3.991290916883204, "size": 433, "x": 257.2871094049899, "y": 130.2579147268005 @@ -17014,7 +17017,7 @@ "r": 6.870411722594499, "size": 1283, "x": 283.07099600296704, - "y": 186.70588930330786 + "y": 186.70588930330783 }, { "age": 310.5312234329, @@ -17043,7 +17046,7 @@ "language": "Python", "parent": 117, "path": "pandas/io/sas/sasreader.py", - "r": 1.8596591974775243, + "r": 1.8596591974775245, "size": 94, "x": 323.8467124091483, "y": 179.2911307306327 @@ -17299,7 +17302,7 @@ "language": "Python", "parent": 123, "path": "pandas/io/html.py", - "r": 3.9912909168832043, + "r": 3.991290916883204, "size": 433, "x": 300.3664328750783, "y": 129.49971687786356 @@ -17507,7 +17510,7 @@ "language": "Python", "parent": 120, "path": "pandas/io/formats/css.py", - "r": 2.9838509033194454, + "r": 2.983850903319446, "size": 242, "x": 294.33021666038195, "y": 167.5173453781302 @@ -17526,7 +17529,7 @@ "r": 0.38361840141577913, "size": 4, "x": 275.14694237679146, - "y": 148.03703602941295 + "y": 148.03703602941297 }, { "age": 57.0845683403, @@ -17670,7 +17673,7 @@ "r": 2.395696148990334, "size": 156, "x": 282.5232616311587, - "y": 123.10359883763155 + "y": 123.10359883763157 }, { "age": 2.2944525996, @@ -17731,7 +17734,7 @@ "language": "Python", "parent": 123, "path": "pandas/io/clipboards.py", - "r": 1.5582653129134219, + "r": 1.558265312913422, "size": 66, "x": 265.0359875234518, "y": 144.5915547515809 @@ -17846,7 +17849,7 @@ "r": 2.8962554170123664, "size": 228, "x": 300.6291497994503, - "y": 220.12115614310494 + "y": 220.12115614310497 }, { "age": 83.0565012107, @@ -18150,7 +18153,7 @@ "r": 1.0149588884943002, "size": 28, "x": 343.582969488169, - "y": 200.33035626793622 + "y": 200.33035626793625 }, { "age": 21.0170336181, @@ -18243,7 +18246,7 @@ "language": "Python", "parent": 129, "path": "pandas/core/reshape/encoding.py", - "r": 2.4413325572613642, + "r": 2.441332557261364, "size": 162, "x": 383.7031726029116, "y": 213.9473485747013 @@ -18451,7 +18454,7 @@ "language": "Python", "parent": 131, "path": "pandas/core/internals/ops.py", - "r": 1.6388185292345703, + "r": 1.6388185292345705, "size": 73, "x": 341.55071613704655, "y": 290.9821350164931 @@ -18499,7 +18502,7 @@ "language": "Python", "parent": 131, "path": "pandas/core/internals/concat.py", - "r": 3.6895236421784587, + "r": 3.6895236421784583, "size": 370, "x": 339.9488904423204, "y": 272.0496105990527 @@ -18645,7 +18648,7 @@ "path": "pandas/core/indexes/period.py", "r": 3.1575779528065584, "size": 271, - "x": 376.85742540489315, + "x": 376.8574254048931, "y": 263.57859750539626 }, { @@ -18707,9 +18710,9 @@ "language": "Python", "parent": 132, "path": "pandas/core/indexes/frozen.py", - "r": 1.2723183001720821, + "r": 1.272318300172082, "size": 44, - "x": 373.63371299463444, + "x": 373.6337129946344, "y": 266.6169620503609 }, { @@ -18725,7 +18728,7 @@ "path": "pandas/core/indexes/extension.py", "r": 1.889101542848173, "size": 97, - "x": 373.24352724417844, + "x": 373.2435272441784, "y": 236.70145045569643 }, { @@ -18741,7 +18744,7 @@ "path": "pandas/core/indexes/datetimes.py", "r": 4.5064958394369015, "size": 552, - "x": 360.82604712752965, + "x": 360.8260471275297, "y": 237.20003912192837 }, { @@ -18755,7 +18758,7 @@ "language": "Python", "parent": 132, "path": "pandas/core/indexes/datetimelike.py", - "r": 3.9542479724196324, + "r": 3.954247972419632, "size": 425, "x": 360.8850639050882, "y": 266.36248989220854 @@ -18838,7 +18841,7 @@ "r": 2.766311633032238, "size": 208, "x": 287.67737947163096, - "y": 255.12534000641614 + "y": 255.12534000641617 }, { "age": 88.1759688033, @@ -18854,7 +18857,7 @@ "r": 2.8514487640916997, "size": 221, "x": 282.05961907450705, - "y": 255.12534000641614 + "y": 255.12534000641617 }, { "age": 110.2627396366, @@ -18902,7 +18905,7 @@ "r": 5.539269062173307, "size": 834, "x": 348.1364227468143, - "y": 232.00890962562818 + "y": 232.00890962562815 }, { "age": 80.9930289885, @@ -18950,7 +18953,7 @@ "r": 4.306105876079283, "size": 504, "x": 347.964316640107, - "y": 212.90857490188878 + "y": 212.9085749018888 }, { "age": 2.9983646366, @@ -18966,7 +18969,7 @@ "r": 7.984885941718496, "size": 1733, "x": 339.37845012602077, - "y": 221.70353800968326 + "y": 221.70353800968329 }, { "age": 12.0688160255, @@ -18982,7 +18985,7 @@ "r": 6.029036427364249, "size": 988, "x": 353.39237249510353, - "y": 221.70353800968326 + "y": 221.70353800968329 }, { "age": 290.8977627848, @@ -19030,7 +19033,7 @@ "r": 12.402508100379938, "size": 4181, "x": 319.5407901970979, - "y": 216.99566256378222 + "y": 216.99566256378225 }, { "age": 6.4360498218, @@ -19125,7 +19128,7 @@ "path": "pandas/core/dtypes/dtypes.py", "r": 5.19303707150779, "size": 733, - "x": 380.99530001391685, + "x": 380.9953000139169, "y": 283.62669725833223 }, { @@ -19189,7 +19192,7 @@ "path": "pandas/core/dtypes/base.py", "r": 2.349173348527077, "size": 150, - "x": 369.97042452067996, + "x": 369.97042452068, "y": 292.25542907243636 }, { @@ -19395,7 +19398,7 @@ "language": "Python", "parent": 136, "path": "pandas/core/computation/engines.py", - "r": 1.5224383327414501, + "r": 1.52243833274145, "size": 63, "x": 291.4461881116917, "y": 270.90483927167764 @@ -19443,7 +19446,7 @@ "language": "Python", "parent": 140, "path": "pandas/core/common.py", - "r": 3.2776370584691406, + "r": 3.277637058469141, "size": 292, "x": 323.3514637516546, "y": 201.78560933365904 @@ -19542,7 +19545,7 @@ "r": 2.6018265860008234, "size": 184, "x": 321.6548742633717, - "y": 251.86349219969998 + "y": 251.8634921997 }, { "age": 19.1745799144, @@ -19558,7 +19561,7 @@ "r": 6.062505975809282, "size": 999, "x": 312.9905417015616, - "y": 251.86349219969998 + "y": 251.8634921997 }, { "age": 32.3619641737, @@ -19654,7 +19657,7 @@ "r": 5.776610417443166, "size": 907, "x": 313.6745697006914, - "y": 237.55046028084226 + "y": 237.55046028084223 }, { "age": 1.4737465811, @@ -19734,7 +19737,7 @@ "r": 6.524332937853707, "size": 1157, "x": 330.78103378722625, - "y": 251.86349219969998 + "y": 251.8634921997 }, { "age": 3.0012581552, @@ -19782,7 +19785,7 @@ "r": 1.839769222432626, "size": 92, "x": 305.38886982463566, - "y": 254.35844178050962 + "y": 254.3584417805096 }, { "age": 20.0294063033, @@ -19811,7 +19814,7 @@ "language": "Python", "parent": 138, "path": "pandas/core/arrays/_arrow_utils.py", - "r": 1.7787653512909323, + "r": 1.7787653512909325, "size": 86, "x": 305.39112849445473, "y": 249.62898985999843 @@ -19827,7 +19830,7 @@ "language": "Python", "parent": 138, "path": "pandas/core/arrays/__init__.py", - "r": 1.2131079008266241, + "r": 1.213107900826624, "size": 40, "x": 324.89736578228633, "y": 233.34703624220057 @@ -19861,7 +19864,7 @@ "path": "pandas/core/array_algos/transforms.py", "r": 0.9396693394108308, "size": 24, - "x": 398.24972459004596, + "x": 398.2497245900459, "y": 254.00976434829403 }, { @@ -19893,7 +19896,7 @@ "path": "pandas/core/array_algos/replace.py", "r": 1.7155936459709675, "size": 80, - "x": 400.75269033246684, + "x": 400.7526903324669, "y": 246.29990013544148 }, { @@ -19925,7 +19928,7 @@ "path": "pandas/core/array_algos/putmask.py", "r": 1.6162130530379224, "size": 71, - "x": 397.99737109529235, + "x": 397.9973710952923, "y": 244.42662712255287 }, { @@ -19939,7 +19942,7 @@ "language": "Python", "parent": 139, "path": "pandas/core/array_algos/masked_reductions.py", - "r": 1.8297431574770682, + "r": 1.829743157477068, "size": 91, "x": 401.9693230532992, "y": 249.62994786370052 @@ -19973,7 +19976,7 @@ "path": "pandas/core/api.py", "r": 1.7048374669216293, "size": 79, - "x": 392.80241999878797, + "x": 392.802419998788, "y": 263.2113095017731 }, { @@ -20003,7 +20006,7 @@ "language": "Python", "parent": 140, "path": "pandas/core/accessor.py", - "r": 1.8297431574770682, + "r": 1.829743157477068, "size": 91, "x": 366.82628818299224, "y": 206.06405556414737 @@ -20022,7 +20025,7 @@ "r": 1.839769222432626, "size": 92, "x": 300.3233516143357, - "y": 210.08748882840862 + "y": 210.08748882840865 }, { "age": 109.4196956552, @@ -20070,7 +20073,7 @@ "r": 1.342664404955227, "size": 49, "x": 302.2017350588026, - "y": 207.51852806026102 + "y": 207.51852806026105 }, { "age": 109.4196956552, @@ -20086,7 +20089,7 @@ "r": 1.7369061854482402, "size": 82, "x": 303.90002702221653, - "y": 210.08748882840862 + "y": 210.08748882840865 }, { "age": 44.0074039885, @@ -20115,7 +20118,7 @@ "language": "Python", "parent": 142, "path": "pandas/core/_numba/executor.py", - "r": 1.1823913227420013, + "r": 1.182391322742001, "size": 38, "x": 307.20650940081487, "y": 210.42740479392552 @@ -20181,7 +20184,7 @@ "path": "pandas/compat/numpy/function.py", "r": 3.0749354067009707, "size": 257, - "x": 207.18660004582082, + "x": 207.1866000458208, "y": 377.65762836090266 }, { @@ -20229,7 +20232,7 @@ "path": "pandas/compat/_optional.py", "r": 1.8988142112032833, "size": 98, - "x": 212.54024534960323, + "x": 212.54024534960325, "y": 381.6432977997957 }, { @@ -20277,8 +20280,8 @@ "path": "pandas/api/indexers/__init__.py", "r": 0.6644465619704819, "size": 12, - "x": 194.78233512831582, - "y": 120.93194297583699 + "x": 194.78233512831585, + "y": 120.931942975837 }, { "age": 89.8383067663, @@ -20294,7 +20297,7 @@ "r": 0.4288984114927419, "size": 5, "x": 195.87568010177907, - "y": 120.93194297583699 + "y": 120.931942975837 }, { "age": 27.1370799144, @@ -20307,9 +20310,9 @@ "language": "Python", "parent": 159, "path": "pandas/_version.py", - "r": 3.6139622527152677, + "r": 3.613962252715268, "size": 355, - "x": 243.84407407399834, + "x": 243.8440740739983, "y": 375.58089457669234 }, { @@ -20341,7 +20344,7 @@ "path": "pandas/_testing/contexts.py", "r": 1.984089799871302, "size": 107, - "x": 232.63473941280242, + "x": 232.6347394128024, "y": 357.78352291780624 }, { @@ -20373,7 +20376,7 @@ "path": "pandas/_testing/asserters.py", "r": 5.387756222837237, "size": 789, - "x": 230.59605473688634, + "x": 230.59605473688632, "y": 364.8678632946309 }, { @@ -20405,7 +20408,7 @@ "path": "pandas/_testing/_io.py", "r": 2.6229513705079057, "size": 187, - "x": 236.16200911326206, + "x": 236.1620091132621, "y": 370.6290774050578 }, { @@ -20659,7 +20662,7 @@ "language": "Cython", "parent": 151, "path": "pandas/_libs/tslibs/offsets.pyx", - "r": 9.132615967100783, + "r": 9.132615967100785, "size": 2267, "x": 261.31462742615844, "y": 358.5850845091367 @@ -20726,7 +20729,7 @@ "r": 2.650855893849022, "size": 191, "x": 286.7612235610018, - "y": 361.84927698712477 + "y": 361.8492769871248 }, { "age": 2.812172507, @@ -20742,7 +20745,7 @@ "r": 1.3009132930004117, "size": 46, "x": 261.2444468751575, - "y": 377.01744097478723 + "y": 377.0174409747872 }, { "age": 57.9111076922, @@ -20771,7 +20774,7 @@ "language": "Python", "parent": 151, "path": "pandas/_libs/tslibs/__init__.py", - "r": 1.5344736056631165, + "r": 1.5344736056631163, "size": 64, "x": 250.9002500235966, "y": 360.8932316600737 @@ -21349,7 +21352,7 @@ "path": "pandas/_config/config.py", "r": 3.62920039023466, "size": 358, - "x": 226.17730095473746, + "x": 226.17730095473743, "y": 378.1623556676554 }, { @@ -21365,7 +21368,7 @@ "path": "pandas/__init__.py", "r": 3.4204480252492404, "size": 318, - "x": 200.79276236935561, + "x": 200.7927623693556, "y": 379.0933748374464 }, { @@ -21379,7 +21382,7 @@ "language": "YAML", "parent": 0, "path": "environment.yml", - "r": 1.8297431574770682, + "r": 1.829743157477068, "size": 91, "x": 386.3120388558799, "y": 160.94599611694238 @@ -21395,7 +21398,7 @@ "language": "Python", "parent": 160, "path": "doc/sphinxext/announce.py", - "r": 1.6721538446540019, + "r": 1.672153844654002, "size": 76, "x": 495.5073352168836, "y": 254.39610853140587 @@ -21414,7 +21417,7 @@ "r": 3.008409761177002, "size": 246, "x": 424.4820808237787, - "y": 233.50720820827394 + "y": 233.5072082082739 }, { "age": 1.4943947292, @@ -21443,7 +21446,7 @@ "language": "reStructuredText", "parent": 161, "path": "doc/source/whatsnew/v1.4.1.rst", - "r": 1.0505822596474699, + "r": 1.05058225964747, "size": 30, "x": 432.99880550939565, "y": 230.5553537283849 @@ -21523,9 +21526,9 @@ "language": "reStructuredText", "parent": 161, "path": "doc/source/whatsnew/v1.3.2.rst", - "r": 1.0505822596474699, + "r": 1.05058225964747, "size": 30, - "x": 440.53260312342076, + "x": 440.5326031234208, "y": 264.77684764924305 }, { @@ -21539,7 +21542,7 @@ "language": "reStructuredText", "parent": 161, "path": "doc/source/whatsnew/v1.3.1.rst", - "r": 1.0505822596474699, + "r": 1.05058225964747, "size": 30, "x": 426.1452586480117, "y": 229.80460699424935 @@ -21813,7 +21816,7 @@ "path": "doc/source/whatsnew/v0.20.0.rst", "r": 5.016461533962005, "size": 684, - "x": 418.85038235338243, + "x": 418.8503823533824, "y": 259.5347775506404 }, { @@ -21891,9 +21894,9 @@ "language": "reStructuredText", "parent": 161, "path": "doc/source/whatsnew/v0.16.2.rst", - "r": 1.8596591974775243, + "r": 1.8596591974775245, "size": 94, - "x": 445.39058586412443, + "x": 445.3905858641244, "y": 258.36137184873195 }, { @@ -21987,7 +21990,7 @@ "language": "reStructuredText", "parent": 161, "path": "doc/source/whatsnew/index.rst", - "r": 1.5224383327414501, + "r": 1.52243833274145, "size": 63, "x": 438.0510396596068, "y": 265.45675774912473 @@ -22070,7 +22073,7 @@ "r": 2.7328604435039288, "size": 203, "x": 456.616969893279, - "y": 248.11378577966119 + "y": 248.1137857796612 }, { "age": 234.4819988959, @@ -22115,7 +22118,7 @@ "language": "Jupyter Notebook", "parent": 163, "path": "doc/source/user_guide/style.ipynb", - "r": 3.6895236421784587, + "r": 3.6895236421784583, "size": 370, "x": 486.05349705457576, "y": 241.1615845520163 @@ -22131,7 +22134,7 @@ "language": "reStructuredText", "parent": 163, "path": "doc/source/user_guide/sparse.rst", - "r": 1.8297431574770682, + "r": 1.829743157477068, "size": 91, "x": 481.0263178951591, "y": 266.33187305914475 @@ -22147,10 +22150,10 @@ "language": "reStructuredText", "parent": 163, "path": "doc/source/user_guide/scale.rst", - "r": 2.3802895830832678, + "r": 2.380289583083268, "size": 154, - "x": 466.12154402638123, - "y": 232.39828898883846 + "x": 466.1215440263812, + "y": 232.3982889888385 }, { "age": 21.0170336181, @@ -22181,7 +22184,7 @@ "path": "doc/source/user_guide/options.rst", "r": 3.4258218667799447, "size": 319, - "x": 477.36232085797724, + "x": 477.3623208579773, "y": 233.0323592586809 }, { @@ -22211,7 +22214,7 @@ "language": "reStructuredText", "parent": 163, "path": "doc/source/user_guide/merging.rst", - "r": 3.6845344260459285, + "r": 3.684534426045929, "size": 369, "x": 486.6232869783448, "y": 257.0338250798039 @@ -22230,7 +22233,7 @@ "r": 8.860671648481826, "size": 2134, "x": 468.1549868413283, - "y": 249.24698976590142 + "y": 249.24698976590145 }, { "age": 15.2136076922, @@ -22246,7 +22249,7 @@ "r": 1.134758534520442, "size": 35, "x": 490.7080404221267, - "y": 242.43001845254162 + "y": 242.4300184525416 }, { "age": 128.1097650996, @@ -22262,7 +22265,7 @@ "r": 4.267485312302637, "size": 495, "x": 478.11052268586815, - "y": 240.68919733823202 + "y": 240.689197338232 }, { "age": 325.3772535255, @@ -22325,7 +22328,7 @@ "path": "doc/source/user_guide/enhancingperf.rst", "r": 2.971495359964049, "size": 240, - "x": 483.43790746381603, + "x": 483.437907463816, "y": 235.0355854302719 }, { @@ -22339,7 +22342,7 @@ "language": "reStructuredText", "parent": 163, "path": "doc/source/user_guide/duplicates.rst", - "r": 1.5224383327414501, + "r": 1.52243833274145, "size": 63, "x": 472.67821896929274, "y": 231.4372202369683 @@ -22358,7 +22361,7 @@ "r": 3.232426106075845, "size": 284, "x": 458.2108256209368, - "y": 242.36537142977218 + "y": 242.36537142977215 }, { "age": 30.0815127848, @@ -22421,8 +22424,8 @@ "path": "doc/source/user_guide/boolean.rst", "r": 1.3149776292322903, "size": 47, - "x": 458.32637410449405, - "y": 237.81943596170382 + "x": 458.3263741044941, + "y": 237.81943596170385 }, { "age": 31.4684456552, @@ -22438,7 +22441,7 @@ "r": 5.242394948753957, "size": 747, "x": 482.2580534385641, - "y": 249.24698976590142 + "y": 249.24698976590145 }, { "age": 30.0815127848, @@ -22470,7 +22473,7 @@ "r": 2.8190080182324926, "size": 216, "x": 491.0831079310039, - "y": 252.30032094494206 + "y": 252.3003209449421 }, { "age": 134.5005752848, @@ -22515,7 +22518,7 @@ "language": "reStructuredText", "parent": 164, "path": "doc/source/reference/series.rst", - "r": 1.7787653512909323, + "r": 1.7787653512909325, "size": 86, "x": 437.9023799213364, "y": 280.6294806791319 @@ -22547,7 +22550,7 @@ "language": "reStructuredText", "parent": 164, "path": "doc/source/reference/io.rst", - "r": 1.1823913227420013, + "r": 1.182391322742001, "size": 38, "x": 435.1493619610935, "y": 273.229796783256 @@ -22678,7 +22681,7 @@ "r": 2.1785337414026276, "size": 129, "x": 454.43215898457424, - "y": 218.60341937938526 + "y": 218.6034193793853 }, { "age": 36.0137697292, @@ -22723,7 +22726,7 @@ "language": "reStructuredText", "parent": 166, "path": "doc/source/getting_started/intro_tutorials/09_timeseries.rst", - "r": 1.8095243804330883, + "r": 1.8095243804330885, "size": 89, "x": 458.2196164690062, "y": 224.17614692478244 @@ -22742,7 +22745,7 @@ "r": 1.5464152146021342, "size": 65, "x": 460.0561214183202, - "y": 226.98498656717402 + "y": 226.984986567174 }, { "age": 36.0137697292, @@ -22819,10 +22822,10 @@ "language": "reStructuredText", "parent": 167, "path": "doc/source/getting_started/index.rst", - "r": 1.5582653129134219, + "r": 1.558265312913422, "size": 66, "x": 450.16314386113334, - "y": 232.10541049948986 + "y": 232.10541049948984 }, { "age": 167.6258993589, @@ -22838,7 +22841,7 @@ "r": 0.2712591730290405, "size": 2, "x": 445.9732393011117, - "y": 226.95196086043526 + "y": 226.9519608604353 }, { "age": 31.4684456552, @@ -22853,7 +22856,7 @@ "path": "doc/source/getting_started/comparison/comparison_with_stata.rst", "r": 2.463833793820702, "size": 165, - "x": 448.34092706963355, + "x": 448.3409270696335, "y": 219.57605778394313 }, { @@ -22931,7 +22934,7 @@ "language": "reStructuredText", "parent": 171, "path": "doc/source/ecosystem.rst", - "r": 3.7390496654839707, + "r": 3.73904966548397, "size": 380, "x": 465.13628457636, "y": 274.0644200693125 @@ -22947,7 +22950,7 @@ "language": "reStructuredText", "parent": 170, "path": "doc/source/development/roadmap.rst", - "r": 2.3647826454840026, + "r": 2.364782645484002, "size": 152, "x": 456.62897473632455, "y": 267.6789342166569 @@ -22997,7 +23000,7 @@ "path": "doc/source/development/extending.rst", "r": 2.5733904689564513, "size": 180, - "x": 451.72875150688907, + "x": 451.728751506889, "y": 268.28997104851186 }, { @@ -23061,7 +23064,7 @@ "path": "doc/source/development/contributing_documentation.rst", "r": 2.317639390311858, "size": 146, - "x": 446.35172141368724, + "x": 446.3517214136872, "y": 278.81094837854937 }, { @@ -23142,7 +23145,7 @@ "r": 3.5001894570972043, "size": 333, "x": 436.1486591183008, - "y": 224.65831217633118 + "y": 224.6583121763312 }, { "age": 331.3654248218, @@ -23174,7 +23177,7 @@ "r": 0.5754276021236687, "size": 9, "x": 494.5479885481391, - "y": 247.45004863673134 + "y": 247.45004863673137 }, { "age": 36.0137697292, @@ -23283,7 +23286,7 @@ "language": "YAML", "parent": 174, "path": "ci/deps/actions-39.yaml", - "r": 1.2723183001720821, + "r": 1.272318300172082, "size": 44, "x": 395.235094581729, "y": 170.89684238803872 @@ -23299,7 +23302,7 @@ "language": "YAML", "parent": 174, "path": "ci/deps/actions-38.yaml", - "r": 1.2723183001720821, + "r": 1.272318300172082, "size": 44, "x": 394.0664574417672, "y": 173.15725444403935 @@ -23315,7 +23318,7 @@ "language": "YAML", "parent": 174, "path": "ci/deps/actions-38-minimum_versions.yaml", - "r": 1.2723183001720821, + "r": 1.272318300172082, "size": 44, "x": 394.0664574417672, "y": 168.63643033203812 @@ -23443,7 +23446,7 @@ "language": "Python", "parent": 176, "path": "asv_bench/benchmarks/tslibs/tslib.py", - "r": 1.2131079008266241, + "r": 1.213107900826624, "size": 40, "x": 420.26860062229935, "y": 297.77795853036343 @@ -23555,7 +23558,7 @@ "language": "Python", "parent": 179, "path": "asv_bench/benchmarks/timedelta.py", - "r": 1.2131079008266241, + "r": 1.213107900826624, "size": 40, "x": 408.73336112467064, "y": 293.03326162838255 @@ -23733,7 +23736,7 @@ "path": "asv_bench/benchmarks/multiindex_object.py", "r": 2.6989946936382614, "size": 198, - "x": 426.21754497876157, + "x": 426.2175449787616, "y": 295.74682151792655 }, { @@ -23797,7 +23800,7 @@ "path": "asv_bench/benchmarks/io/json.py", "r": 3.080911963178997, "size": 258, - "x": 416.39218088028645, + "x": 416.3921808802865, "y": 309.07400190990467 }, { @@ -23843,7 +23846,7 @@ "language": "Python", "parent": 179, "path": "asv_bench/benchmarks/indexing_engines.py", - "r": 1.6388185292345703, + "r": 1.6388185292345705, "size": 73, "x": 432.8239337302415, "y": 316.74933582432095 @@ -23875,7 +23878,7 @@ "language": "Python", "parent": 179, "path": "asv_bench/benchmarks/index_object.py", - "r": 2.5301371284692666, + "r": 2.530137128469266, "size": 174, "x": 403.38442645501954, "y": 305.87709217637376 @@ -23891,7 +23894,7 @@ "language": "Python", "parent": 179, "path": "asv_bench/benchmarks/index_cached_properties.py", - "r": 1.5224383327414501, + "r": 1.52243833274145, "size": 63, "x": 432.87175448556417, "y": 301.7529013041927 @@ -23971,7 +23974,7 @@ "language": "Python", "parent": 179, "path": "asv_bench/benchmarks/frame_ctor.py", - "r": 2.4262158016532482, + "r": 2.426215801653248, "size": 160, "x": 399.4067090589116, "y": 308.83398221231255 @@ -24019,7 +24022,7 @@ "language": "Python", "parent": 179, "path": "asv_bench/benchmarks/ctors.py", - "r": 1.7787653512909323, + "r": 1.7787653512909325, "size": 86, "x": 412.41037323467134, "y": 325.22391612333973 @@ -24067,7 +24070,7 @@ "language": "Python", "parent": 179, "path": "asv_bench/benchmarks/arithmetic.py", - "r": 3.6594863149541363, + "r": 3.659486314954136, "size": 364, "x": 412.3078010820939, "y": 319.7866318619706 @@ -24166,7 +24169,7 @@ "r": 0.8360769223270009, "size": 19, "x": 407.9194092521867, - "y": 190.49782810874686 + "y": 190.4978281087469 }, { "age": 36.0137697292, @@ -24182,7 +24185,7 @@ "r": 1.570025972684963, "size": 67, "x": 403.3967418668914, - "y": 189.60848350363977 + "y": 189.60848350363975 }, { "age": 4.2837118589, @@ -24195,10 +24198,10 @@ "language": "YAML", "parent": 180, "path": ".github/workflows/python-dev.yml", - "r": 1.6388185292345703, + "r": 1.6388185292345705, "size": 73, "x": 403.3973209698501, - "y": 195.95604873569934 + "y": 195.95604873569937 }, { "age": 1.4895914885, @@ -24230,7 +24233,7 @@ "r": 1.460775352208398, "size": 58, "x": 400.3451216823862, - "y": 196.49601330813294 + "y": 196.49601330813297 }, { "age": 4.2837118589, @@ -24259,7 +24262,7 @@ "language": "YAML", "parent": 180, "path": ".github/workflows/comment_bot.yml", - "r": 1.1823913227420013, + "r": 1.182391322742001, "size": 38, "x": 406.2077255110932, "y": 196.20272938644047 @@ -24307,7 +24310,7 @@ "language": "YAML", "parent": 180, "path": ".github/workflows/asv-bot.yml", - "r": 1.5344736056631165, + "r": 1.5344736056631163, "size": 64, "x": 400.3733965649714, "y": 188.90328791564892 @@ -24342,7 +24345,7 @@ "r": 0.7428738399910122, "size": 15, "x": 409.967739760354, - "y": 195.46762046641746 + "y": 195.46762046641743 }, { "age": 18.3056794514, @@ -24374,7 +24377,7 @@ "r": 1.2281781420153095, "size": 41, "x": 414.86298008353464, - "y": 190.48503354140982 + "y": 190.48503354140985 }, { "age": 36.0137697292, @@ -24419,10 +24422,10 @@ "language": "YAML", "parent": 182, "path": ".github/ISSUE_TEMPLATE/documentation_improvement.yaml", - "r": 1.2131079008266241, + "r": 1.213107900826624, "size": 40, "x": 412.4366202283908, - "y": 190.21548689179033 + "y": 190.2154868917903 }, { "age": 36.0137697292, @@ -24555,11 +24558,9 @@ } ], "source": [ - "ages = (cm.get_ages(log)\n", - " .merge(loc_sl)\n", - " )\n", + "ages = cm.get_ages(log).merge(loc_sl)\n", "desc = cm.vega.vis_ages(ages, height=500, width=500)\n", - "Vega(desc)\n" + "Vega(desc)" ] }, { @@ -24595,20 +24596,22 @@ ], "source": [ "# Get Python file with the most recent revision\n", - "python_df = (log[['path', 'date']]\n", - " .groupby('path', as_index=False)\n", - " .max()\n", - " .query(\"path.str.endswith('.py')\")\n", - " .merge(log[['path', 'date', 'revision']])\n", - " .assign(path=lambda x: x[\"path\"].astype(\"string\"))\n", - " )\n", + "python_df = (\n", + " log[[\"path\", \"date\"]]\n", + " .groupby(\"path\", as_index=False)\n", + " .max()\n", + " .query(\"path.str.endswith('.py')\")\n", + " .merge(log[[\"path\", \"date\", \"revision\"]])\n", + " .assign(path=lambda x: x[\"path\"].astype(\"string\"))\n", + ")\n", "# Progress bar for pandas\n", "tqdm.pandas(desc=\"calculating complexity\")\n", "# Calculates complexity on python files.\n", - "complexity = (python_df[['revision', 'path']]\n", - " .groupby(['revision', 'path'])\n", - " .progress_apply(cm.get_complexity, project=project)\n", - " )\n" + "complexity = (\n", + " python_df[[\"revision\", \"path\"]]\n", + " .groupby([\"revision\", \"path\"])\n", + " .progress_apply(cm.get_complexity, project=project)\n", + ")" ] }, { @@ -24618,14 +24621,15 @@ "outputs": [], "source": [ "# Calculates 80% percentile of complexity for each file\n", - "path_complexity = (complexity\n", - " .reset_index()[['path', 'cyclomatic_complexity', 'token_count']]\n", - " .groupby('path').quantile(0.8)\n", - " .sort_values(by='cyclomatic_complexity', ascending=False)\n", - " .reset_index()\n", - " .rename(columns={'cyclomatic_complexity': 'complexity'})\n", - " )\n", - "# Merge to lines of code. \n", + "path_complexity = (\n", + " complexity.reset_index()[[\"path\", \"cyclomatic_complexity\", \"token_count\"]]\n", + " .groupby(\"path\")\n", + " .quantile(0.8)\n", + " .sort_values(by=\"cyclomatic_complexity\", ascending=False)\n", + " .reset_index()\n", + " .rename(columns={\"cyclomatic_complexity\": \"complexity\"})\n", + ")\n", + "# Merge to lines of code.\n", "loc_cc = pd.merge(loc, path_complexity)" ] }, @@ -25666,7 +25670,7 @@ "lines": null, "parent": 53, "path": "pandas/core/_numba/kernels", - "r": 21.322001031799882, + "r": 21.32200103179988, "size": 0, "token_count": null, "x": 307.24240558189854, @@ -25754,7 +25758,7 @@ "r": 6.269247643654069, "size": 0, "token_count": null, - "x": 204.52794188946638, + "x": 204.5279418894664, "y": 300.98651757287655 }, { @@ -25839,7 +25843,7 @@ "r": 5.7935247408346005, "size": 0, "token_count": null, - "x": 122.20027580425315, + "x": 122.20027580425317, "y": 259.6241035486558 }, { @@ -26010,7 +26014,7 @@ "size": 0, "token_count": null, "x": 75.4222240979819, - "y": 182.12378394671958 + "y": 182.1237839467196 }, { "blank": null, @@ -26026,7 +26030,7 @@ "r": 13.130762140167368, "size": 0, "token_count": null, - "x": 25.826268683833234, + "x": 25.82626868383323, "y": 257.81801452838084 }, { @@ -26061,7 +26065,7 @@ "size": 0, "token_count": null, "x": 173.59261732676464, - "y": 239.87012541362094 + "y": 239.87012541362097 }, { "blank": null, @@ -26111,8 +26115,8 @@ "r": 11.384523355460743, "size": 0, "token_count": null, - "x": 462.38729491873653, - "y": 214.12845492060234 + "x": 462.3872949187366, + "y": 214.1284549206023 }, { "blank": null, @@ -26197,7 +26201,7 @@ "size": 0, "token_count": null, "x": 65.61858043719064, - "y": 245.45211410141454 + "y": 245.45211410141457 }, { "blank": null, @@ -26230,7 +26234,7 @@ "r": 3.393768219236839, "size": 0, "token_count": null, - "x": 94.87509419900853, + "x": 94.87509419900852, "y": 159.25820628011243 }, { @@ -26278,11 +26282,11 @@ "lines": null, "parent": 189, "path": "pandas/core/ops", - "r": 21.245250280570918, + "r": 21.24525028057092, "size": 0, "token_count": null, "x": 403.7519643790179, - "y": 197.26655558391022 + "y": 197.26655558391025 }, { "blank": null, @@ -26298,7 +26302,7 @@ "r": 8.748915484850844, "size": 0, "token_count": null, - "x": 112.09668013472293, + "x": 112.09668013472292, "y": 270.083545324596 }, { @@ -26333,7 +26337,7 @@ "size": 0, "token_count": null, "x": 189.7396144655556, - "y": 190.97927006570185 + "y": 190.97927006570183 }, { "blank": null, @@ -26499,7 +26503,7 @@ "lines": null, "parent": 141, "path": "pandas/tseries", - "r": 9.458704134121339, + "r": 9.45870413412134, "size": 0, "token_count": null, "x": 327.9482651754173, @@ -26516,7 +26520,7 @@ "lines": null, "parent": 189, "path": "pandas/core/array_algos", - "r": 18.136479262449434, + "r": 18.13647926244943, "size": 0, "token_count": null, "x": 430.29792589064334, @@ -26567,10 +26571,10 @@ "lines": null, "parent": 179, "path": "pandas/tests/base", - "r": 13.866974826711761, + "r": 13.86697482671176, "size": 0, "token_count": null, - "x": 93.13560290382671, + "x": 93.13560290382672, "y": 342.9543399186765 }, { @@ -26622,7 +26626,7 @@ "size": 0, "token_count": null, "x": 264.0112907992538, - "y": 161.44460832029299 + "y": 161.444608320293 }, { "blank": null, @@ -26635,7 +26639,7 @@ "lines": null, "parent": 103, "path": "pandas/tests/extension/base", - "r": 13.408536541014305, + "r": 13.408536541014303, "size": 0, "token_count": null, "x": 183.8171477017481, @@ -26703,7 +26707,7 @@ "lines": null, "parent": 189, "path": "pandas/core/computation", - "r": 18.889817744582242, + "r": 18.88981774458224, "size": 0, "token_count": null, "x": 283.85314833508335, @@ -26720,10 +26724,10 @@ "lines": null, "parent": 120, "path": "pandas/tests/scalar/timestamp", - "r": 9.836318076958447, + "r": 9.836318076958449, "size": 0, "token_count": null, - "x": 99.46597251181237, + "x": 99.46597251181235, "y": 137.2195586458624 }, { @@ -26754,7 +26758,7 @@ "lines": null, "parent": 147, "path": "pandas/tests/arrays/categorical", - "r": 11.437662517344753, + "r": 11.437662517344751, "size": 0, "token_count": null, "x": 63.22688135923789, @@ -26774,7 +26778,7 @@ "r": 12.23534930763415, "size": 0, "token_count": null, - "x": 221.27479729047207, + "x": 221.2747972904721, "y": 287.8687051052272 }, { @@ -26826,7 +26830,7 @@ "size": 0, "token_count": null, "x": 147.75749109999026, - "y": 164.11908463120525 + "y": 164.11908463120523 }, { "blank": null, @@ -26856,11 +26860,11 @@ "lines": null, "parent": 173, "path": "pandas/tests/io/parser/common", - "r": 13.223994709700035, + "r": 13.223994709700037, "size": 0, "token_count": null, "x": 154.5303947898216, - "y": 239.87012541362094 + "y": 239.87012541362097 }, { "blank": null, @@ -26873,7 +26877,7 @@ "lines": null, "parent": 179, "path": "pandas/tests/strings", - "r": 14.441224854009757, + "r": 14.441224854009755, "size": 0, "token_count": null, "x": 164.47273609358342, @@ -26924,7 +26928,7 @@ "lines": null, "parent": 184, "path": "pandas/tests/indexing/multiindex", - "r": 13.032560082559579, + "r": 13.03256008255958, "size": 0, "token_count": null, "x": 188.88303620340457, @@ -26945,7 +26949,7 @@ "size": 0, "token_count": null, "x": 104.19754254482856, - "y": 245.45211410141454 + "y": 245.45211410141457 }, { "blank": null, @@ -27094,7 +27098,7 @@ "lines": null, "parent": 0, "path": "pandas", - "r": 226.34217119278406, + "r": 226.3421711927841, "size": 0, "token_count": null, "x": 226.75379976072472, @@ -27149,7 +27153,7 @@ "size": 0, "token_count": null, "x": 68.62293794395976, - "y": 245.45211410141454 + "y": 245.45211410141457 }, { "blank": null, @@ -27179,7 +27183,7 @@ "lines": null, "parent": 153, "path": "pandas/core/arrays/sparse", - "r": 12.857155212552135, + "r": 12.857155212552136, "size": 0, "token_count": null, "x": 319.85898584720024, @@ -27196,7 +27200,7 @@ "lines": null, "parent": 179, "path": "pandas/tests/arrays", - "r": 30.073839874858834, + "r": 30.07383987485883, "size": 0, "token_count": null, "x": 71.07783711937181, @@ -27302,7 +27306,7 @@ "size": 0, "token_count": null, "x": 328.2121423473353, - "y": 244.26492630951319 + "y": 244.2649263095132 }, { "blank": null, @@ -27315,7 +27319,7 @@ "lines": null, "parent": 169, "path": "pandas/tests/series/indexing", - "r": 10.408062045372537, + "r": 10.408062045372535, "size": 0, "token_count": null, "x": 155.94965742789893, @@ -27332,7 +27336,7 @@ "lines": null, "parent": 185, "path": "pandas/tests/frame/indexing", - "r": 11.202537686574681, + "r": 11.20253768657468, "size": 0, "token_count": null, "x": 158.56422253242985, @@ -27349,7 +27353,7 @@ "lines": null, "parent": 179, "path": "pandas/tests/plotting", - "r": 19.421872695699886, + "r": 19.42187269569989, "size": 0, "token_count": null, "x": 34.02373050515767, @@ -27370,7 +27374,7 @@ "size": 0, "token_count": null, "x": 259.71847582986095, - "y": 161.44460832029299 + "y": 161.444608320293 }, { "blank": null, @@ -27420,8 +27424,8 @@ "r": 12.418772436428734, "size": 0, "token_count": null, - "x": 188.13156116311166, - "y": 213.99611497735734 + "x": 188.13156116311168, + "y": 213.99611497735737 }, { "blank": null, @@ -27455,7 +27459,7 @@ "size": 0, "token_count": null, "x": 199.71081170436523, - "y": 240.28836585176578 + "y": 240.28836585176575 }, { "blank": null, @@ -27540,7 +27544,7 @@ "size": 0, "token_count": null, "x": 387.11780771445177, - "y": 244.26492630951319 + "y": 244.2649263095132 }, { "blank": null, @@ -27655,7 +27659,7 @@ "lines": null, "parent": 156, "path": "pandas/tests/plotting/frame", - "r": 13.307293185581953, + "r": 13.307293185581951, "size": 0, "token_count": null, "x": 27.90990742942859, @@ -27812,7 +27816,7 @@ "size": 0, "token_count": null, "x": 128.03460942664668, - "y": 125.13237387478665 + "y": 125.13237387478664 }, { "blank": null, @@ -27828,7 +27832,7 @@ "r": 23.399066832853233, "size": 0, "token_count": null, - "x": 193.16464597022386, + "x": 193.16464597022383, "y": 312.11678601613147 }, { @@ -27897,7 +27901,7 @@ "size": 0, "token_count": null, "x": 267.7192895038419, - "y": 367.00633642038036 + "y": 367.0063364203803 }, { "blank": null, @@ -27947,8 +27951,8 @@ "r": 0, "size": 0, "token_count": 0, - "x": 238.47210636780406, - "y": 393.74452580095027 + "x": 238.4721063678041, + "y": 393.7445258009502 }, { "blank": 0, @@ -28627,8 +28631,8 @@ "r": 0, "size": 0, "token_count": 0, - "x": 21.659319523157198, - "y": 225.15631432963738 + "x": 21.6593195231572, + "y": 225.15631432963735 }, { "blank": 0, @@ -29307,8 +29311,8 @@ "r": 0, "size": 0, "token_count": 0, - "x": 238.47210636780406, - "y": 393.74452580095027 + "x": 238.4721063678041, + "y": 393.7445258009502 }, { "blank": 0, @@ -30770,7 +30774,7 @@ "size": 0, "token_count": 0, "x": 181.0990213354983, - "y": 165.97879770535621 + "y": 165.9787977053562 }, { "blank": 0, @@ -32503,7 +32507,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 78, - "x": 235.72715691046642, + "x": 235.7271569104664, "y": 224.1073755425711 }, { @@ -32605,7 +32609,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 47.8, - "x": 194.36109886605234, + "x": 194.36109886605232, "y": 170.24208189009374 }, { @@ -32758,7 +32762,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 47.6, - "x": 125.59404402348999, + "x": 125.59404402349, "y": 259.6241035486558 }, { @@ -32810,7 +32814,7 @@ "size": 1, "token_count": 87, "x": 233.60992024391624, - "y": 248.52557103984074 + "y": 248.5255710398407 }, { "blank": 2, @@ -32860,7 +32864,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 36.6, - "x": 458.65206575410883, + "x": 458.6520657541088, "y": 286.41837744070136 }, { @@ -32878,7 +32882,7 @@ "size": 1, "token_count": 150.6, "x": 57.10298413225241, - "y": 186.95048277653834 + "y": 186.9504827765383 }, { "blank": 3, @@ -32895,7 +32899,7 @@ "size": 1, "token_count": 33, "x": 115.9345474671177, - "y": 238.84418450065934 + "y": 238.84418450065937 }, { "blank": 5, @@ -32962,7 +32966,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 70, - "x": 112.02855192702455, + "x": 112.02855192702457, "y": 177.04589721698244 }, { @@ -33235,7 +33239,7 @@ "size": 1, "token_count": 47.4, "x": 27.681297953366837, - "y": 253.18171791881582 + "y": 253.18171791881585 }, { "blank": 12, @@ -33303,7 +33307,7 @@ "size": 9, "token_count": 94, "x": 192.4963139036789, - "y": 117.45196569402225 + "y": 117.45196569402223 }, { "blank": 11, @@ -33320,7 +33324,7 @@ "size": 1, "token_count": 86, "x": 211.82969244693916, - "y": 178.37361293932977 + "y": 178.37361293932975 }, { "blank": 25, @@ -33472,7 +33476,7 @@ "r": 4.156500221202084, "size": 3, "token_count": 140, - "x": 56.607939768404364, + "x": 56.60793976840437, "y": 214.91886170057927 }, { @@ -33490,7 +33494,7 @@ "size": 1.6, "token_count": 55.2, "x": 201.93868637959068, - "y": 207.05369698446506 + "y": 207.05369698446503 }, { "blank": 13, @@ -33506,7 +33510,7 @@ "r": 3.219611227044623, "size": 1.8, "token_count": 73.4, - "x": 211.94490205246174, + "x": 211.94490205246177, "y": 319.5000380118558 }, { @@ -33523,8 +33527,8 @@ "r": 2.3997565215977623, "size": 1, "token_count": 132.6, - "x": 246.58924055835038, - "y": 234.87117090755294 + "x": 246.5892405583504, + "y": 234.87117090755297 }, { "blank": 4, @@ -33558,7 +33562,7 @@ "size": 2.2, "token_count": 36.8, "x": 472.5522098671755, - "y": 239.15974929089242 + "y": 239.1597492908924 }, { "blank": 10, @@ -33608,7 +33612,7 @@ "r": 3.8694911220563073, "size": 2.6, "token_count": 41, - "x": 472.58920890095237, + "x": 472.5892089009524, "y": 252.6900095634361 }, { @@ -33676,7 +33680,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 114, - "x": 105.48127485369393, + "x": 105.48127485369392, "y": 313.26053934792634 }, { @@ -33778,7 +33782,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 23, - "x": 230.28512686853603, + "x": 230.28512686853605, "y": 235.8047031100704 }, { @@ -33796,7 +33800,7 @@ "size": 1, "token_count": 136, "x": 48.446569868708664, - "y": 191.88092341851706 + "y": 191.88092341851703 }, { "blank": 10, @@ -33813,7 +33817,7 @@ "size": 2, "token_count": 148.2, "x": 89.01912319852197, - "y": 214.87039359106666 + "y": 214.87039359106663 }, { "blank": 10, @@ -33881,7 +33885,7 @@ "size": 1, "token_count": 28.2, "x": 490.9684860163516, - "y": 240.47311413121514 + "y": 240.4731141312151 }, { "blank": 15, @@ -33897,7 +33901,7 @@ "r": 4.6779866587255, "size": 3.8, "token_count": 116, - "x": 95.22999212107739, + "x": 95.2299921210774, "y": 351.90146444882896 }, { @@ -33932,7 +33936,7 @@ "size": 1, "token_count": 72.4, "x": 71.24662558792886, - "y": 210.48328602793714 + "y": 210.4832860279371 }, { "blank": 23, @@ -33966,7 +33970,7 @@ "size": 1, "token_count": 82.6, "x": 160.4229776491647, - "y": 234.79508475220638 + "y": 234.7950847522064 }, { "blank": 12, @@ -34068,7 +34072,7 @@ "size": 1.6, "token_count": 98.4, "x": 26.07662246121428, - "y": 235.17387174034258 + "y": 235.17387174034255 }, { "blank": 62, @@ -34102,7 +34106,7 @@ "size": 1, "token_count": 59, "x": 82.19873727996301, - "y": 249.95861551073898 + "y": 249.95861551073895 }, { "blank": 9, @@ -34135,7 +34139,7 @@ "r": 4.918037385420547, "size": 4.2, "token_count": 56.6, - "x": 467.20945574940924, + "x": 467.2094557494093, "y": 245.74170665566209 }, { @@ -34204,7 +34208,7 @@ "size": 1.4, "token_count": 83.6, "x": 135.95614207246763, - "y": 200.22097246091806 + "y": 200.2209724609181 }, { "blank": 8, @@ -34255,7 +34259,7 @@ "size": 1, "token_count": 60.4, "x": 129.83793419482768, - "y": 167.92322621009203 + "y": 167.92322621009205 }, { "blank": 10, @@ -34289,7 +34293,7 @@ "size": 1, "token_count": 307, "x": 129.9961550778408, - "y": 188.73262908476494 + "y": 188.73262908476497 }, { "blank": 22, @@ -34306,7 +34310,7 @@ "size": 1, "token_count": 101, "x": 144.44906621779464, - "y": 243.61937341351486 + "y": 243.6193734135149 }, { "blank": 23, @@ -34340,7 +34344,7 @@ "size": 1, "token_count": 88, "x": 61.902497175447934, - "y": 186.95048277653834 + "y": 186.9504827765383 }, { "blank": 14, @@ -34492,7 +34496,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 231.6, - "x": 112.09668013472293, + "x": 112.09668013472292, "y": 274.24004554579807 }, { @@ -34509,8 +34513,8 @@ "r": 2.3997565215977623, "size": 1, "token_count": 54.2, - "x": 221.70186242826946, - "y": 193.36380310676438 + "x": 221.70186242826944, + "y": 193.3638031067644 }, { "blank": 13, @@ -34527,7 +34531,7 @@ "size": 1, "token_count": 92.4, "x": 116.42795626355466, - "y": 251.28224260513798 + "y": 251.282242605138 }, { "blank": 10, @@ -34561,7 +34565,7 @@ "size": 1, "token_count": 100.6, "x": 114.64965239082557, - "y": 189.74028328162774 + "y": 189.74028328162777 }, { "blank": 12, @@ -34594,7 +34598,7 @@ "r": 4.156500221202084, "size": 3, "token_count": 133.4, - "x": 118.05069677513879, + "x": 118.0506967751388, "y": 313.3908876516372 }, { @@ -34645,7 +34649,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 35.2, - "x": 467.56807651354484, + "x": 467.5680765135448, "y": 232.7164526089403 }, { @@ -34730,7 +34734,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 108, - "x": 123.08453104259519, + "x": 123.0845310425952, "y": 296.57188489551015 }, { @@ -34917,7 +34921,7 @@ "r": 3.219611227044623, "size": 1.8, "token_count": 247.6, - "x": 252.78995638043298, + "x": 252.78995638043295, "y": 249.6165415457217 }, { @@ -35087,7 +35091,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 105.6, - "x": 120.03648540256519, + "x": 120.0364854025652, "y": 164.2931997071892 }, { @@ -35118,7 +35122,7 @@ "lines": 53, "parent": 163, "path": "pandas/core/internals/api.py", - "r": 7.4353736344806185, + "r": 7.435373634480619, "size": 9.6, "token_count": 166.6, "x": 404.3122796703836, @@ -35376,7 +35380,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 419.4, - "x": 108.50690911957935, + "x": 108.50690911957936, "y": 299.8715195012576 }, { @@ -35394,7 +35398,7 @@ "size": 2, "token_count": 87.8, "x": 78.55780690842069, - "y": 245.45211410141454 + "y": 245.45211410141457 }, { "blank": 15, @@ -35445,7 +35449,7 @@ "size": 1, "token_count": 100, "x": 130.32505979865363, - "y": 125.13237387478665 + "y": 125.13237387478664 }, { "blank": 18, @@ -35461,7 +35465,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 200.2, - "x": 95.98877654453781, + "x": 95.9887765445378, "y": 275.74450302262795 }, { @@ -35495,7 +35499,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 61.8, - "x": 171.98444222335345, + "x": 171.98444222335343, "y": 332.84314630498443 }, { @@ -35530,7 +35534,7 @@ "size": 1, "token_count": 34, "x": 466.6358863263198, - "y": 238.44642559305106 + "y": 238.44642559305103 }, { "blank": 17, @@ -35615,7 +35619,7 @@ "size": 1, "token_count": 170, "x": 110.7350373699313, - "y": 232.26532035101022 + "y": 232.26532035101025 }, { "blank": 22, @@ -35682,7 +35686,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 119, - "x": 152.22183592594195, + "x": 152.22183592594197, "y": 172.6453959389308 }, { @@ -35716,7 +35720,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 251.6, - "x": 112.09668013472293, + "x": 112.09668013472292, "y": 265.92704510339394 }, { @@ -35853,7 +35857,7 @@ "size": 3.4, "token_count": 241.6, "x": 63.3037326671934, - "y": 245.45211410141454 + "y": 245.45211410141457 }, { "blank": 29, @@ -35866,7 +35870,7 @@ "lines": 66, "parent": 188, "path": "pandas/io/clipboards.py", - "r": 9.169456794111879, + "r": 9.16945679411188, "size": 14.6, "token_count": 262.4, "x": 244.94886340970595, @@ -35954,7 +35958,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 116, - "x": 109.10919747919795, + "x": 109.10919747919796, "y": 173.23634408574 }, { @@ -36005,7 +36009,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 20, - "x": 99.60178869726697, + "x": 99.60178869726695, "y": 132.35327533604004 }, { @@ -36040,7 +36044,7 @@ "size": 5.2, "token_count": 104.8, "x": 205.16787029276648, - "y": 117.45196569402225 + "y": 117.45196569402223 }, { "blank": 17, @@ -36124,7 +36128,7 @@ "r": 3.393768219236839, "size": 2, "token_count": 169, - "x": 223.36191208452942, + "x": 223.36191208452945, "y": 294.9469372743694 }, { @@ -36159,7 +36163,7 @@ "size": 1, "token_count": 58.2, "x": 483.04052065841745, - "y": 253.61115361057514 + "y": 253.61115361057512 }, { "blank": 33, @@ -36311,7 +36315,7 @@ "r": 4.156500221202084, "size": 3, "token_count": 158.8, - "x": 417.78422409740324, + "x": 417.7842240974032, "y": 187.51355267263415 }, { @@ -36515,7 +36519,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 42.8, - "x": 92.13056153102737, + "x": 92.13056153102735, "y": 208.0683292194817 }, { @@ -36532,8 +36536,8 @@ "r": 2.6288015587984552, "size": 1.2, "token_count": 178.2, - "x": 124.28163130758631, - "y": 190.58112290598226 + "x": 124.28163130758632, + "y": 190.58112290598223 }, { "blank": 40, @@ -36601,7 +36605,7 @@ "size": 1, "token_count": 20, "x": 463.3103477504905, - "y": 234.93164362374318 + "y": 234.9316436237432 }, { "blank": 15, @@ -36617,7 +36621,7 @@ "r": 3.393768219236839, "size": 2, "token_count": 101, - "x": 96.14482519622453, + "x": 96.14482519622452, "y": 137.00239700309965 }, { @@ -36736,7 +36740,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 57.8, - "x": 205.26927839164526, + "x": 205.2692783916453, "y": 225.8615548804416 }, { @@ -36839,7 +36843,7 @@ "size": 4, "token_count": 88, "x": 425.09208717358297, - "y": 214.07762919927094 + "y": 214.07762919927097 }, { "blank": 9, @@ -36889,7 +36893,7 @@ "r": 3.0354785752367923, "size": 1.6, "token_count": 148.8, - "x": 190.88595367977834, + "x": 190.8859536797783, "y": 166.06294962463733 }, { @@ -36991,7 +36995,7 @@ "r": 3.219611227044623, "size": 1.8, "token_count": 75.2, - "x": 125.74927724001027, + "x": 125.74927724001029, "y": 172.44173286477297 }, { @@ -37008,7 +37012,7 @@ "r": 5.033771746611517, "size": 4.4, "token_count": 132, - "x": 432.39017153797045, + "x": 432.3901715379705, "y": 273.17022529381416 }, { @@ -37059,7 +37063,7 @@ "r": 4.292814969392831, "size": 3.2, "token_count": 168.6, - "x": 424.25699567775507, + "x": 424.256995677755, "y": 237.16747186975252 }, { @@ -37213,7 +37217,7 @@ "size": 1, "token_count": 100.4, "x": 154.84613311643835, - "y": 191.04877423885947 + "y": 191.0487742388595 }, { "blank": 25, @@ -37553,7 +37557,7 @@ "size": 1, "token_count": 151.6, "x": 84.69488778144637, - "y": 187.55299302306378 + "y": 187.55299302306375 }, { "blank": 16, @@ -37566,10 +37570,10 @@ "lines": 95, "parent": 172, "path": "pandas/tests/dtypes/test_generic.py", - "r": 3.7176868172403092, + "r": 3.717686817240309, "size": 2.4, "token_count": 115.4, - "x": 249.16857846098094, + "x": 249.16857846098097, "y": 229.32408798155052 }, { @@ -37757,7 +37761,7 @@ "size": 2, "token_count": 118.6, "x": 224.8942425597057, - "y": 198.19843215345182 + "y": 198.19843215345185 }, { "blank": 21, @@ -37909,7 +37913,7 @@ "r": 3.0354785752367923, "size": 1.6, "token_count": 84.8, - "x": 471.62278875377837, + "x": 471.6227887537784, "y": 260.22396858304745 }, { @@ -37961,7 +37965,7 @@ "size": 2, "token_count": 122, "x": 163.59576886504564, - "y": 253.79740216245466 + "y": 253.79740216245463 }, { "blank": 21, @@ -38029,7 +38033,7 @@ "size": 1, "token_count": 117.4, "x": 58.04166363294716, - "y": 206.80068385129846 + "y": 206.8006838512985 }, { "blank": 32, @@ -38045,7 +38049,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 25.8, - "x": 466.32794049837156, + "x": 466.3279404983715, "y": 253.00621204335243 }, { @@ -38113,7 +38117,7 @@ "r": 3.219611227044623, "size": 1.8, "token_count": 167.6, - "x": 119.59839351993021, + "x": 119.5983935199302, "y": 187.07809336886976 }, { @@ -38351,7 +38355,7 @@ "r": 3.393768219236839, "size": 2, "token_count": 44, - "x": 207.50065562433954, + "x": 207.50065562433952, "y": 182.22385567339725 }, { @@ -38436,7 +38440,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 125, - "x": 115.27159237723177, + "x": 115.27159237723176, "y": 194.49932899533053 }, { @@ -38504,7 +38508,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 108.4, - "x": 109.09941898097847, + "x": 109.09941898097848, "y": 186.0889647768374 }, { @@ -38742,7 +38746,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 74, - "x": 92.90393399042543, + "x": 92.90393399042544, "y": 180.9240447107876 }, { @@ -38760,7 +38764,7 @@ "size": 2, "token_count": 233, "x": 110.19796624924857, - "y": 238.03389760489102 + "y": 238.03389760489105 }, { "blank": 32, @@ -38810,7 +38814,7 @@ "r": 7.278821919730494, "size": 9.2, "token_count": 131.4, - "x": 191.54140533361254, + "x": 191.54140533361257, "y": 374.5668192363262 }, { @@ -38929,7 +38933,7 @@ "r": 4.424932387509822, "size": 3.4, "token_count": 62.2, - "x": 241.53167788949338, + "x": 241.53167788949335, "y": 169.0002128090982 }, { @@ -38946,7 +38950,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 254.6, - "x": 107.00922312267299, + "x": 107.009223122673, "y": 177.55206339470132 }, { @@ -38980,7 +38984,7 @@ "r": 3.393768219236839, "size": 2, "token_count": 122, - "x": 47.034109254724676, + "x": 47.03410925472467, "y": 228.8701544204131 }, { @@ -39031,8 +39035,8 @@ "r": 3.393768219236839, "size": 2, "token_count": 125.2, - "x": 197.20406906439746, - "y": 240.28836585176578 + "x": 197.20406906439743, + "y": 240.28836585176575 }, { "blank": 46, @@ -39167,7 +39171,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 85.2, - "x": 102.00468968288587, + "x": 102.00468968288588, "y": 335.68547512679464 }, { @@ -39456,7 +39460,7 @@ "r": 3.393768219236839, "size": 2, "token_count": 197, - "x": 115.60384356702171, + "x": 115.60384356702173, "y": 306.24809667747206 }, { @@ -39555,7 +39559,7 @@ "lines": 133, "parent": 181, "path": "pandas/tests/io/test_gcs.py", - "r": 3.7176868172403092, + "r": 3.717686817240309, "size": 2.4, "token_count": 144, "x": 158.41443212699266, @@ -39572,7 +39576,7 @@ "lines": 133, "parent": 92, "path": "pandas/tests/util/test_assert_index_equal.py", - "r": 3.7176868172403092, + "r": 3.717686817240309, "size": 2.4, "token_count": 96, "x": 176.2762393287898, @@ -39592,7 +39596,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 107.8, - "x": 182.38940037199038, + "x": 182.3894003719904, "y": 298.2916278284981 }, { @@ -39627,7 +39631,7 @@ "size": 1, "token_count": 74, "x": 493.61186923773, - "y": 244.47909099045174 + "y": 244.47909099045177 }, { "blank": 39, @@ -39779,8 +39783,8 @@ "r": 2.3997565215977623, "size": 1, "token_count": 248.8, - "x": 94.78321063666927, - "y": 215.45368162287878 + "x": 94.78321063666928, + "y": 215.4536816228788 }, { "blank": 37, @@ -39847,7 +39851,7 @@ "r": 3.393768219236839, "size": 2, "token_count": 67.2, - "x": 180.15396157989102, + "x": 180.15396157989105, "y": 188.31126416227823 }, { @@ -39898,7 +39902,7 @@ "r": 4.424932387509822, "size": 3.4, "token_count": 134.2, - "x": 95.21846579006207, + "x": 95.21846579006208, "y": 334.9619117345729 }, { @@ -39915,7 +39919,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 142.2, - "x": 206.50818949022934, + "x": 206.50818949022937, "y": 254.1745129758662 }, { @@ -40018,7 +40022,7 @@ "size": 11.8, "token_count": 240.6, "x": 107.66915711759628, - "y": 220.32928422597774 + "y": 220.32928422597777 }, { "blank": 45, @@ -40034,7 +40038,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 254.6, - "x": 109.97058217567371, + "x": 109.97058217567373, "y": 190.80875292250795 }, { @@ -40068,7 +40072,7 @@ "r": 3.0354785752367923, "size": 1.6, "token_count": 233.4, - "x": 105.92318536340525, + "x": 105.92318536340524, "y": 245.17419453086475 }, { @@ -40103,7 +40107,7 @@ "size": 5.8, "token_count": 82.4, "x": 289.6573912187478, - "y": 225.84428647284602 + "y": 225.844286472846 }, { "blank": 33, @@ -40167,11 +40171,11 @@ "lines": 147, "parent": 77, "path": "pandas/tests/arrays/integer/test_function.py", - "r": 3.7176868172403092, + "r": 3.717686817240309, "size": 2.4, "token_count": 106.8, "x": 73.1682112142198, - "y": 183.08503926325858 + "y": 183.08503926325855 }, { "blank": 41, @@ -40204,7 +40208,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 169.6, - "x": 116.22793213972075, + "x": 116.22793213972076, "y": 330.58195899028067 }, { @@ -40238,7 +40242,7 @@ "r": 4.156500221202084, "size": 3, "token_count": 113.2, - "x": 230.97326379986802, + "x": 230.973263799868, "y": 207.61481719048797 }, { @@ -40307,7 +40311,7 @@ "size": 2.6, "token_count": 187.6, "x": 110.37168597746418, - "y": 252.90244513546546 + "y": 252.90244513546543 }, { "blank": 55, @@ -40357,8 +40361,8 @@ "r": 2.3997565215977623, "size": 1, "token_count": 126.2, - "x": 10.576880252801757, - "y": 246.06849380639946 + "x": 10.576880252801756, + "y": 246.06849380639943 }, { "blank": 98, @@ -40405,7 +40409,7 @@ "lines": 151, "parent": 178, "path": "pandas/tests/groupby/test_any_all.py", - "r": 3.7176868172403092, + "r": 3.717686817240309, "size": 2.4, "token_count": 105.8, "x": 87.89969655930682, @@ -40527,7 +40531,7 @@ "r": 3.393768219236839, "size": 2, "token_count": 173.4, - "x": 119.80051928265539, + "x": 119.8005192826554, "y": 259.6241035486558 }, { @@ -40545,7 +40549,7 @@ "size": 2.8, "token_count": 50.4, "x": 237.1275569061699, - "y": 123.10815360821627 + "y": 123.10815360821628 }, { "blank": 53, @@ -40561,7 +40565,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 111, - "x": 115.39078288063995, + "x": 115.39078288063996, "y": 348.1980419468612 }, { @@ -40697,8 +40701,8 @@ "r": 2.3997565215977623, "size": 1, "token_count": 51, - "x": 241.40661982845546, - "y": 234.19232065708403 + "x": 241.40661982845543, + "y": 234.19232065708405 }, { "blank": 58, @@ -40715,7 +40719,7 @@ "size": 1, "token_count": 34, "x": 460.0731786271634, - "y": 238.47509695612698 + "y": 238.47509695612695 }, { "blank": 36, @@ -40748,7 +40752,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 148.6, - "x": 229.00131795116866, + "x": 229.00131795116863, "y": 184.72386551529868 }, { @@ -40799,7 +40803,7 @@ "r": 4.553217862855188, "size": 3.6, "token_count": 72.8, - "x": 196.86411378169566, + "x": 196.8641137816957, "y": 158.6470208353772 }, { @@ -40813,7 +40817,7 @@ "lines": 162, "parent": 167, "path": "pandas/core/reshape/encoding.py", - "r": 9.718273218653417, + "r": 9.718273218653415, "size": 16.4, "token_count": 419.4, "x": 378.80324706100663, @@ -40970,7 +40974,7 @@ "size": 1, "token_count": 62.4, "x": 491.16338637904846, - "y": 235.67756001303187 + "y": 235.6775600130319 }, { "blank": 45, @@ -41089,7 +41093,7 @@ "size": 1, "token_count": 30, "x": 459.4812099333709, - "y": 252.16785840259266 + "y": 252.16785840259263 }, { "blank": 55, @@ -41122,7 +41126,7 @@ "r": 4.156500221202084, "size": 3, "token_count": 130, - "x": 21.920122240012198, + "x": 21.9201222400122, "y": 229.30462435080673 }, { @@ -41224,7 +41228,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 177.4, - "x": 184.78359592743638, + "x": 184.7835959274364, "y": 320.0723413431357 }, { @@ -41259,7 +41263,7 @@ "size": 2, "token_count": 77.6, "x": 203.99160550287115, - "y": 240.28836585176578 + "y": 240.28836585176575 }, { "blank": 38, @@ -41310,7 +41314,7 @@ "size": 5, "token_count": 83, "x": 314.4929671354592, - "y": 242.56106016172077 + "y": 242.56106016172075 }, { "blank": 28, @@ -41428,7 +41432,7 @@ "r": 3.393768219236839, "size": 2, "token_count": 171.6, - "x": 90.42343274947261, + "x": 90.4234327494726, "y": 274.13457216529525 }, { @@ -41445,7 +41449,7 @@ "r": 3.393768219236839, "size": 2, "token_count": 151, - "x": 221.78528010553686, + "x": 221.78528010553688, "y": 204.23208804040596 }, { @@ -41514,7 +41518,7 @@ "size": 1, "token_count": 101.6, "x": 168.14856646642127, - "y": 203.22587348998246 + "y": 203.2258734899825 }, { "blank": 88, @@ -41649,8 +41653,8 @@ "r": 2.3997565215977623, "size": 1, "token_count": 107, - "x": 123.57149004040143, - "y": 195.55928479050942 + "x": 123.57149004040144, + "y": 195.55928479050945 }, { "blank": 66, @@ -41820,7 +41824,7 @@ "size": 2.8, "token_count": 187.2, "x": 217.48491363039827, - "y": 198.19843215345182 + "y": 198.19843215345185 }, { "blank": 99, @@ -41871,7 +41875,7 @@ "size": 1, "token_count": 70.6, "x": 458.2508732236794, - "y": 242.91520151212978 + "y": 242.91520151212976 }, { "blank": 44, @@ -41955,7 +41959,7 @@ "r": 3.0354785752367923, "size": 1.6, "token_count": 46, - "x": 205.47685430048674, + "x": 205.4768543004867, "y": 188.32626851962627 }, { @@ -41969,11 +41973,11 @@ "lines": 200, "parent": 88, "path": "pandas/tests/indexes/datetimes/methods/test_insert.py", - "r": 3.7176868172403092, + "r": 3.717686817240309, "size": 2.4, "token_count": 162.6, "x": 71.44635187194353, - "y": 245.45211410141454 + "y": 245.45211410141457 }, { "blank": 22, @@ -41989,7 +41993,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 440, - "x": 200.57712689489486, + "x": 200.5771268948949, "y": 224.85207987661687 }, { @@ -42041,7 +42045,7 @@ "size": 2, "token_count": 157.6, "x": 80.27966625069695, - "y": 183.08503926325858 + "y": 183.08503926325855 }, { "blank": 61, @@ -42058,7 +42062,7 @@ "size": 3, "token_count": 65.2, "x": 187.33985794395784, - "y": 190.97927006570185 + "y": 190.97927006570183 }, { "blank": 58, @@ -42092,7 +42096,7 @@ "size": 1, "token_count": 214.8, "x": 151.31690523696452, - "y": 164.11908463120525 + "y": 164.11908463120523 }, { "blank": 51, @@ -42125,7 +42129,7 @@ "r": 4.015560710070609, "size": 2.8, "token_count": 128.2, - "x": 188.42287457556918, + "x": 188.4228745755692, "y": 172.66979428221455 }, { @@ -42278,7 +42282,7 @@ "r": 5.366018711741039, "size": 5, "token_count": 536, - "x": 100.38293392068147, + "x": 100.38293392068148, "y": 343.2800240418057 }, { @@ -42346,7 +42350,7 @@ "r": 3.8694911220563073, "size": 2.6, "token_count": 65.4, - "x": 110.63394522468937, + "x": 110.63394522468936, "y": 129.27439714440555 }, { @@ -42703,7 +42707,7 @@ "r": 3.219611227044623, "size": 1.8, "token_count": 153.4, - "x": 102.75820464250599, + "x": 102.758204642506, "y": 137.00239700309965 }, { @@ -42754,7 +42758,7 @@ "r": 3.8694911220563073, "size": 2.6, "token_count": 160.8, - "x": 126.07668811839719, + "x": 126.0766881183972, "y": 313.3908876516372 }, { @@ -42788,7 +42792,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 120.8, - "x": 229.00131795116866, + "x": 229.00131795116863, "y": 213.86749118225387 }, { @@ -43061,7 +43065,7 @@ "size": 1, "token_count": 65.8, "x": 457.75600028635574, - "y": 247.68913345840934 + "y": 247.68913345840937 }, { "blank": 31, @@ -43145,7 +43149,7 @@ "r": 5.678860416714391, "size": 5.6, "token_count": 148.2, - "x": 456.91933135744875, + "x": 456.9193313574487, "y": 212.49874204312587 }, { @@ -43162,7 +43166,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 163.4, - "x": 104.13817303510663, + "x": 104.13817303510665, "y": 322.34462926767185 }, { @@ -43247,7 +43251,7 @@ "r": 4.6779866587255, "size": 3.8, "token_count": 75.6, - "x": 229.09636849399226, + "x": 229.09636849399223, "y": 371.60871507568794 }, { @@ -43332,7 +43336,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 68.8, - "x": 225.40269159979442, + "x": 225.4026915997944, "y": 312.12000887812883 }, { @@ -43349,7 +43353,7 @@ "r": 3.219611227044623, "size": 1.8, "token_count": 41, - "x": 210.44564908700582, + "x": 210.44564908700585, "y": 228.04844315346668 }, { @@ -43401,7 +43405,7 @@ "size": 1, "token_count": 65, "x": 201.92214801239996, - "y": 255.58998074852386 + "y": 255.58998074852383 }, { "blank": 59, @@ -43435,7 +43439,7 @@ "size": 2, "token_count": 118.4, "x": 200.5978372836343, - "y": 234.41018686693502 + "y": 234.41018686693505 }, { "blank": 57, @@ -43553,7 +43557,7 @@ "r": 4.156500221202084, "size": 3, "token_count": 102, - "x": 92.46730274952611, + "x": 92.46730274952613, "y": 221.58728359364412 }, { @@ -43604,7 +43608,7 @@ "r": 3.393768219236839, "size": 2, "token_count": 129, - "x": 199.64241086210794, + "x": 199.6424108621079, "y": 191.94757800927323 }, { @@ -43622,7 +43626,7 @@ "size": 1, "token_count": 66, "x": 487.8400337016129, - "y": 253.61115361057514 + "y": 253.61115361057512 }, { "blank": 56, @@ -43690,7 +43694,7 @@ "size": 8, "token_count": 164, "x": 400.41641784646305, - "y": 197.26655558391022 + "y": 197.26655558391025 }, { "blank": 79, @@ -43757,7 +43761,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 107, - "x": 108.34816280734641, + "x": 108.3481628073464, "y": 328.24289036595076 }, { @@ -43978,7 +43982,7 @@ "r": 3.393768219236839, "size": 2, "token_count": 53.2, - "x": 194.07108713051534, + "x": 194.07108713051537, "y": 149.69771441378663 }, { @@ -43995,7 +43999,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 196.8, - "x": 104.39722043117527, + "x": 104.39722043117528, "y": 303.80137751918517 }, { @@ -44012,8 +44016,8 @@ "r": 4.015560710070609, "size": 2.8, "token_count": 80.2, - "x": 216.78719242529382, - "y": 240.28836585176578 + "x": 216.78719242529385, + "y": 240.28836585176575 }, { "blank": 89, @@ -44114,7 +44118,7 @@ "r": 3.393768219236839, "size": 2, "token_count": 222, - "x": 94.87509419900853, + "x": 94.87509419900852, "y": 159.25820628011243 }, { @@ -44182,7 +44186,7 @@ "r": 6.787536438473678, "size": 8, "token_count": 167, - "x": 254.70342776366854, + "x": 254.70342776366857, "y": 366.6751511787106 }, { @@ -44216,7 +44220,7 @@ "r": 6.787536438473678, "size": 8, "token_count": 198, - "x": 403.51619004408116, + "x": 403.5161900440811, "y": 229.8666195080396 }, { @@ -44234,7 +44238,7 @@ "size": 7.2, "token_count": 160.2, "x": 413.643176739026, - "y": 197.26655558391022 + "y": 197.26655558391025 }, { "blank": 55, @@ -44268,7 +44272,7 @@ "size": 1, "token_count": 64, "x": 481.6058435011302, - "y": 227.53103264587799 + "y": 227.531032645878 }, { "blank": 93, @@ -44352,7 +44356,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 232, - "x": 10.576880252801757, + "x": 10.576880252801756, "y": 237.00138024936595 }, { @@ -44505,7 +44509,7 @@ "r": 3.393768219236839, "size": 2, "token_count": 54.6, - "x": 123.64704866040657, + "x": 123.64704866040655, "y": 238.93640450172168 }, { @@ -44540,7 +44544,7 @@ "size": 2, "token_count": 98.6, "x": 76.77753623281096, - "y": 238.90220668029994 + "y": 238.9022066802999 }, { "blank": 89, @@ -44675,7 +44679,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 73.4, - "x": 108.68200890569113, + "x": 108.68200890569112, "y": 145.335934564664 }, { @@ -44740,7 +44744,7 @@ "lines": 305, "parent": 148, "path": "pandas/tests/groupby/aggregate/test_cython.py", - "r": 3.7176868172403092, + "r": 3.717686817240309, "size": 2.4, "token_count": 186.2, "x": 67.18347716564219, @@ -44982,7 +44986,7 @@ "size": 1, "token_count": 85.8, "x": 193.8961146867577, - "y": 190.97927006570185 + "y": 190.97927006570183 }, { "blank": 68, @@ -45084,7 +45088,7 @@ "size": 1, "token_count": 151, "x": 57.36261838708405, - "y": 254.08503056194021 + "y": 254.0850305619402 }, { "blank": 33, @@ -45101,7 +45105,7 @@ "size": 4, "token_count": 98.4, "x": 23.110394386233065, - "y": 200.71193655538258 + "y": 200.71193655538255 }, { "blank": 70, @@ -45203,7 +45207,7 @@ "size": 1, "token_count": 155, "x": 213.31235055224803, - "y": 206.04058252350922 + "y": 206.0405825235092 }, { "blank": 107, @@ -45288,7 +45292,7 @@ "size": 2, "token_count": 171.4, "x": 193.8103008451606, - "y": 234.41018686693502 + "y": 234.41018686693505 }, { "blank": 93, @@ -45475,7 +45479,7 @@ "size": 2, "token_count": 156.2, "x": 238.5087785561025, - "y": 191.44831369167053 + "y": 191.4483136916705 }, { "blank": 106, @@ -45559,7 +45563,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 71, - "x": 96.02256912259193, + "x": 96.02256912259192, "y": 164.9369588035466 }, { @@ -45577,7 +45581,7 @@ "size": 9, "token_count": 165.6, "x": 251.82105165398696, - "y": 127.98522703587429 + "y": 127.98522703587427 }, { "blank": 218, @@ -45712,7 +45716,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 173.4, - "x": 180.42347505396125, + "x": 180.42347505396123, "y": 305.84978361053254 }, { @@ -45883,7 +45887,7 @@ "size": 1, "token_count": 90, "x": 184.34641005415352, - "y": 199.66916723674547 + "y": 199.6691672367455 }, { "blank": 107, @@ -45900,7 +45904,7 @@ "size": 3.2, "token_count": 266.6, "x": 43.04282330716129, - "y": 208.40641757448645 + "y": 208.40641757448643 }, { "blank": 140, @@ -46104,7 +46108,7 @@ "size": 2, "token_count": 135.2, "x": 207.38537372210797, - "y": 234.41018686693502 + "y": 234.41018686693505 }, { "blank": 118, @@ -46138,7 +46142,7 @@ "size": 7, "token_count": 172, "x": 434.898888911406, - "y": 237.20891564720142 + "y": 237.20891564720145 }, { "blank": 92, @@ -46375,7 +46379,7 @@ "r": 5.878178984830757, "size": 6, "token_count": 99.2, - "x": 231.74436562659199, + "x": 231.744365626592, "y": 340.2253632098642 }, { @@ -46393,7 +46397,7 @@ "size": 3.2, "token_count": 132.6, "x": 288.1300490851261, - "y": 161.44460832029299 + "y": 161.444608320293 }, { "blank": 69, @@ -46409,7 +46413,7 @@ "r": 4.156500221202084, "size": 3, "token_count": 175.6, - "x": 230.97326379986802, + "x": 230.973263799868, "y": 190.9765395070646 }, { @@ -46477,7 +46481,7 @@ "r": 5.2576031175969105, "size": 4.8, "token_count": 153.6, - "x": 228.82054302852242, + "x": 228.8205430285224, "y": 360.96337603608464 }, { @@ -46494,7 +46498,7 @@ "r": 3.393768219236839, "size": 2, "token_count": 88, - "x": 109.59725813980535, + "x": 109.59725813980536, "y": 348.1980419468612 }, { @@ -46528,7 +46532,7 @@ "r": 2.6288015587984552, "size": 1.2, "token_count": 95.8, - "x": 215.53324467973462, + "x": 215.53324467973465, "y": 258.68524392244075 }, { @@ -46644,7 +46648,7 @@ "lines": 461, "parent": 189, "path": "pandas/core/config_init.py", - "r": 3.7176868172403092, + "r": 3.717686817240309, "size": 2.4, "token_count": 33.2, "x": 378.3653496281543, @@ -46682,7 +46686,7 @@ "size": 1, "token_count": 131.8, "x": 50.56161132137722, - "y": 224.27432390869654 + "y": 224.27432390869657 }, { "blank": 95, @@ -46716,7 +46720,7 @@ "size": 1, "token_count": 64.6, "x": 439.4165765383045, - "y": 255.44899274959639 + "y": 255.4489927495964 }, { "blank": 99, @@ -46817,7 +46821,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 157, - "x": 241.97147612070762, + "x": 241.9714761207076, "y": 196.0931661649726 }, { @@ -46868,7 +46872,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 92, - "x": 152.22183592594195, + "x": 152.22183592594197, "y": 183.93177240537756 }, { @@ -46903,7 +46907,7 @@ "size": 1, "token_count": 100.4, "x": 45.88582702560185, - "y": 223.19156508458826 + "y": 223.19156508458823 }, { "blank": 123, @@ -46953,7 +46957,7 @@ "r": 5.878178984830757, "size": 6, "token_count": 134.8, - "x": 393.85376343441357, + "x": 393.8537634344136, "y": 172.0137135027606 }, { @@ -46987,7 +46991,7 @@ "r": 3.393768219236839, "size": 2, "token_count": 160, - "x": 109.21969068333037, + "x": 109.21969068333036, "y": 317.6865054579849 }, { @@ -47073,7 +47077,7 @@ "size": 4, "token_count": 364.2, "x": 32.70942047262412, - "y": 200.71193655538258 + "y": 200.71193655538255 }, { "blank": 119, @@ -47107,7 +47111,7 @@ "size": 1, "token_count": 129.8, "x": 220.13784086400008, - "y": 245.75914735198458 + "y": 245.75914735198455 }, { "blank": 103, @@ -47123,7 +47127,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 121.8, - "x": 113.48152194888667, + "x": 113.48152194888668, "y": 145.335934564664 }, { @@ -47157,8 +47161,8 @@ "r": 2.3997565215977623, "size": 1, "token_count": 120.4, - "x": 241.97147612070762, - "y": 202.49819053257994 + "x": 241.9714761207076, + "y": 202.4981905325799 }, { "blank": 190, @@ -47191,7 +47195,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 426, - "x": 213.30399363086954, + "x": 213.3039936308695, "y": 293.63109822552 }, { @@ -47225,7 +47229,7 @@ "r": 4.799513043195525, "size": 4, "token_count": 94.8, - "x": 114.10180363196635, + "x": 114.10180363196636, "y": 137.2195586458624 }, { @@ -47311,7 +47315,7 @@ "size": 1, "token_count": 123, "x": 180.66955932849592, - "y": 244.08691068629926 + "y": 244.0869106862993 }, { "blank": 185, @@ -47396,7 +47400,7 @@ "size": 1, "token_count": 193.2, "x": 235.66735951431608, - "y": 212.19193068057194 + "y": 212.19193068057191 }, { "blank": 144, @@ -47515,7 +47519,7 @@ "size": 1, "token_count": 142, "x": 235.66735951431608, - "y": 186.39942601698058 + "y": 186.39942601698056 }, { "blank": 125, @@ -47565,7 +47569,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 205.4, - "x": 44.106086456482316, + "x": 44.10608645648232, "y": 185.97719397421423 }, { @@ -47616,7 +47620,7 @@ "r": 3.393768219236839, "size": 2, "token_count": 203, - "x": 15.859800375006825, + "x": 15.859800375006824, "y": 287.6948201457321 }, { @@ -47633,7 +47637,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 79, - "x": 246.58924055835038, + "x": 246.5892405583504, "y": 223.77700505554807 }, { @@ -47650,7 +47654,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 136.4, - "x": 243.74079299452242, + "x": 243.7407929945224, "y": 219.9141470555788 }, { @@ -47685,7 +47689,7 @@ "size": 1.2, "token_count": 63, "x": 125.2965017182574, - "y": 125.13237387478665 + "y": 125.13237387478664 }, { "blank": 164, @@ -47701,7 +47705,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 156, - "x": 96.11340664921013, + "x": 96.11340664921012, "y": 284.84070253317617 }, { @@ -47752,7 +47756,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 188, - "x": 107.46485586674527, + "x": 107.46485586674528, "y": 295.18649543834584 }, { @@ -47787,7 +47791,7 @@ "size": 3, "token_count": 164, "x": 423.9269927137312, - "y": 251.02964906547714 + "y": 251.02964906547712 }, { "blank": 192, @@ -47838,7 +47842,7 @@ "size": 2.2, "token_count": 156.8, "x": 145.3577345783925, - "y": 164.11908463120525 + "y": 164.11908463120523 }, { "blank": 137, @@ -47854,8 +47858,8 @@ "r": 2.3997565215977623, "size": 1, "token_count": 154.2, - "x": 27.694663967268514, - "y": 183.71426029547362 + "x": 27.69466396726851, + "y": 183.7142602954736 }, { "blank": 125, @@ -47922,8 +47926,8 @@ "r": 2.3997565215977623, "size": 1, "token_count": 159, - "x": 105.41999459792919, - "y": 183.00721824909922 + "x": 105.4199945979292, + "y": 183.0072182490992 }, { "blank": 144, @@ -47940,7 +47944,7 @@ "size": 2, "token_count": 124, "x": 47.566800531090266, - "y": 239.61495631680802 + "y": 239.614956316808 }, { "blank": 183, @@ -48024,7 +48028,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 664.4, - "x": 101.86548177103425, + "x": 101.86548177103424, "y": 123.39296830179272 }, { @@ -48075,7 +48079,7 @@ "r": 8.17327619808798, "size": 11.6, "token_count": 222.8, - "x": 395.86324046755925, + "x": 395.8632404675593, "y": 292.32256801908466 }, { @@ -48110,7 +48114,7 @@ "size": 6, "token_count": 120.4, "x": 334.12472095138617, - "y": 255.54008497682386 + "y": 255.54008497682383 }, { "blank": 198, @@ -48160,7 +48164,7 @@ "r": 3.219611227044623, "size": 1.8, "token_count": 208.6, - "x": 119.25506104451311, + "x": 119.25506104451313, "y": 325.84763913540684 }, { @@ -48382,7 +48386,7 @@ "size": 1, "token_count": 113, "x": 163.3983367229419, - "y": 212.44478561215894 + "y": 212.44478561215897 }, { "blank": 170, @@ -48517,8 +48521,8 @@ "r": 2.3997565215977623, "size": 1, "token_count": 54, - "x": 472.65093198553564, - "y": 225.36812492678098 + "x": 472.6509319855357, + "y": 225.36812492678095 }, { "blank": 160, @@ -48620,7 +48624,7 @@ "size": 1, "token_count": 123.8, "x": 172.94259523496422, - "y": 203.45525007594202 + "y": 203.455250075942 }, { "blank": 142, @@ -48806,7 +48810,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 63.4, - "x": 243.74079299452242, + "x": 243.7407929945224, "y": 238.7340289075222 }, { @@ -48841,7 +48845,7 @@ "size": 9, "token_count": 164, "x": 368.2108206450637, - "y": 171.08248069412267 + "y": 171.0824806941227 }, { "blank": 168, @@ -48892,7 +48896,7 @@ "size": 1, "token_count": 94.8, "x": 57.36261838708405, - "y": 236.81919764088886 + "y": 236.8191976408889 }, { "blank": 213, @@ -49164,7 +49168,7 @@ "size": 6, "token_count": 174, "x": 277.9998332097385, - "y": 225.84428647284602 + "y": 225.844286472846 }, { "blank": 277, @@ -49198,7 +49202,7 @@ "size": 5, "token_count": 132, "x": 325.2250045589413, - "y": 242.56106016172077 + "y": 242.56106016172075 }, { "blank": 321, @@ -49333,7 +49337,7 @@ "r": 8.031121420141218, "size": 11.2, "token_count": 192.4, - "x": 363.19852122404524, + "x": 363.1985212240453, "y": 302.59272591378596 }, { @@ -49537,7 +49541,7 @@ "r": 2.3997565215977623, "size": 1, "token_count": 134, - "x": 106.66499481422979, + "x": 106.6649948142298, "y": 123.39296830179272 }, { @@ -49554,8 +49558,8 @@ "r": 2.3997565215977623, "size": 1, "token_count": 80.8, - "x": 123.70204888139565, - "y": 244.72966816725202 + "x": 123.70204888139564, + "y": 244.729668167252 }, { "blank": 235, @@ -49572,7 +49576,7 @@ "size": 2, "token_count": 127, "x": 190.7655948051845, - "y": 207.34062156201878 + "y": 207.3406215620188 }, { "blank": 361, @@ -49588,7 +49592,7 @@ "r": 5.366018711741039, "size": 5, "token_count": 109, - "x": 393.71661978749916, + "x": 393.7166197874992, "y": 278.95452678967257 }, { @@ -49673,7 +49677,7 @@ "r": 5.366018711741039, "size": 5, "token_count": 138.6, - "x": 252.99196759684102, + "x": 252.99196759684105, "y": 320.9018550936177 }, { @@ -49724,7 +49728,7 @@ "r": 3.393768219236839, "size": 2, "token_count": 221.2, - "x": 90.73654319368617, + "x": 90.73654319368616, "y": 311.913001518778 }, { @@ -49775,8 +49779,8 @@ "r": 3.393768219236839, "size": 2, "token_count": 139.2, - "x": 217.34614853717414, - "y": 210.19911624820938 + "x": 217.34614853717417, + "y": 210.19911624820935 }, { "blank": 363, @@ -49911,8 +49915,8 @@ "r": 2.3997565215977623, "size": 1, "token_count": 110, - "x": 239.67192230718678, - "y": 217.36863791563354 + "x": 239.6719223071868, + "y": 217.3686379156335 }, { "blank": 189, @@ -50133,7 +50137,7 @@ "size": 2, "token_count": 97, "x": 215.0236589638378, - "y": 220.05446556989938 + "y": 220.05446556989935 }, { "blank": 374, @@ -50167,7 +50171,7 @@ "size": 1, "token_count": 91.6, "x": 128.03460942664668, - "y": 120.91465380996759 + "y": 120.9146538099676 }, { "blank": 476, @@ -50388,9 +50392,11 @@ } ], "source": [ - "hspots = cm.get_hot_spots(log, loc_cc.assign(path=lambda x: x['path'].astype('string'))) \n", - "hspots.query(\"language == 'Python'\").sort_values(by=['changes', 'complexity'], ascending=False).head()\n", - "desc = cm.vega.vis_hot_spots(hspots, width=500, height=500, size_column='complexity')\n", + "hspots = cm.get_hot_spots(log, loc_cc.assign(path=lambda x: x[\"path\"].astype(\"string\")))\n", + "hspots.query(\"language == 'Python'\").sort_values(\n", + " by=[\"changes\", \"complexity\"], ascending=False\n", + ").head()\n", + "desc = cm.vega.vis_hot_spots(hspots, width=500, height=500, size_column=\"complexity\")\n", "Vega(desc)" ] }, @@ -50565,9 +50571,11 @@ } ], "source": [ - "co_changes = cm.get_co_changes(log, by='path', on='issue').\\\n", - " query(\"(coupling > .6) & (changes > 20)\").\\\n", - " sort_values(by=['changes', 'cochanges'], ascending=False)\n", + "co_changes = (\n", + " cm.get_co_changes(log, by=\"path\", on=\"issue\")\n", + " .query(\"(coupling > .6) & (changes > 20)\")\n", + " .sort_values(by=[\"changes\", \"cochanges\"], ascending=False)\n", + ")\n", "co_changes" ] }, @@ -50661,8 +50669,8 @@ } ], "source": [ - "path = 'pandas/core/frame.py'\n", - "func_df = log[log['path'] == path][['date', 'revision', 'path']]\n", + "path = \"pandas/core/frame.py\"\n", + "func_df = log[log[\"path\"] == path][[\"date\", \"revision\", \"path\"]]\n", "func_df.head()" ] }, @@ -50687,7 +50695,9 @@ } ], "source": [ - "func_cplx_df = func_df.groupby(['revision', 'path']).progress_apply(cm.get_complexity, project=project)" + "func_cplx_df = func_df.groupby([\"revision\", \"path\"]).progress_apply(\n", + " cm.get_complexity, project=project\n", + ")" ] }, { @@ -50889,15 +50899,16 @@ } ], "source": [ - "func_cpx_df = pd.merge(func_df, func_cplx_df.reset_index(), on=['revision', 'path'])\n", - "top_cpx_func_df = (func_cpx_df\n", - " .groupby('name')[['cyclomatic_complexity']].mean()\n", - " .astype('float')\n", - " .dropna()\n", - " .nlargest(10, 'cyclomatic_complexity')\n", - " )\n", - "top_cpx_func_df.nlargest(3, 'cyclomatic_complexity')\n", - "filt_func_cpx_df = func_cpx_df[func_cpx_df['name'].isin(set(top_cpx_func_df.index))]\n", + "func_cpx_df = pd.merge(func_df, func_cplx_df.reset_index(), on=[\"revision\", \"path\"])\n", + "top_cpx_func_df = (\n", + " func_cpx_df.groupby(\"name\")[[\"cyclomatic_complexity\"]]\n", + " .mean()\n", + " .astype(\"float\")\n", + " .dropna()\n", + " .nlargest(10, \"cyclomatic_complexity\")\n", + ")\n", + "top_cpx_func_df.nlargest(3, \"cyclomatic_complexity\")\n", + "filt_func_cpx_df = func_cpx_df[func_cpx_df[\"name\"].isin(set(top_cpx_func_df.index))]\n", "filt_func_cpx_df.head()" ] }, @@ -50975,13 +50986,12 @@ } ], "source": [ - "alt.Chart(filt_func_cpx_df).\\\n", - " mark_line().encode(\n", - " x='date:T',\n", - " y='cyclomatic_complexity:Q',\n", - " color='name:N',\n", - " tooltip=['name', 'revision']\n", - " )" + "alt.Chart(filt_func_cpx_df).mark_line().encode(\n", + " x=\"date:T\",\n", + " y=\"cyclomatic_complexity:Q\",\n", + " color=\"name:N\",\n", + " tooltip=[\"name\", \"revision\"],\n", + ")" ] }, { diff --git a/pyproject.toml b/pyproject.toml index e90ee6d..a0f61d2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,13 +5,78 @@ requires = [ ] build-backend = "setuptools.build_meta" +[project] +name = "codemetrics" +version = "0.11.7" +description = "SCM mining utility classes" +readme = "README.rst" +license = "MIT" +keywords = ["code", "metrics", "mining", "scm", "subversion", "svn", "Adam Tornhill", "utilities"] +authors = [ + {name = "elmotec", email = "elmotec@gmx.com"} +] +classifiers = [ + "Development Status :: 4 - Beta", + "Environment :: Console", + "Natural Language :: English", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Topic :: Software Development", + "Topic :: Utilities", + "Topic :: Software Development :: Version Control", + "Intended Audience :: Developers", + "Intended Audience :: Education", +] +requires-python = ">=3.6" +dependencies = [ + "numpy>=2", + "click>=6", + "pandas>=2", + "tqdm>=4", + "python-dateutil>=2", + "scikit-learn", + "lizard>1.17", + "mypy-extensions", +] + +[project.urls] +Homepage = "http://github.com/elmotec/codemetrics" + +[project.scripts] +cm_func_stats = "codemetrics.cmdline:cm_func_stats" + +[project.optional-dependencies] +develop = [ + "black[d]", + "build", + "commitizen<4.9", + "coverage", + "flake8", + "pip", + "pre-commit", + "tox", + "twine", + "watchdog", + "wheel", + "pytest", +] +notebooks = [ + "altair", + "ipywidgets", + "jupyterlab", + "matplotlib", +] + +[tool.setuptools] +packages = ["codemetrics"] +include-package-data = true -[tool] [tool.commitizen] name = "cz_conventional_commits" version = "0.11.7" tag_format = "v$version" version_files = [ "codemetrics/__init__.py:__version__", - "setup.cfg:version" ] diff --git a/requirements-dev.txt b/requirements-dev.txt deleted file mode 100644 index 57ec18d..0000000 --- a/requirements-dev.txt +++ /dev/null @@ -1,10 +0,0 @@ -black[d] -commitizen -coverage -flake8 -pip -pre-commit -tox -twine -watchdog -wheel diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index f76054c..0000000 --- a/setup.cfg +++ /dev/null @@ -1,115 +0,0 @@ -[metadata] -name = codemetrics -summary = SCM mining utility classes -version = 0.11.7 -author = elmotec -author_email = elmotec@gmx.com -description_file = - README.rst - HISTORY.rst -long_description = file: README.rst, HISTORY.rst, LICENSE.txt -long_description_content_type = text/x-rst -license = MIT -keywords = code,metrics,mining,scm,subversion,svn,Adam Tornhill,utilities -home_page = http://github.com/elmotec/codemetrics -requires_dist = setuptools -classifiers = - Development Status :: 4 - Beta - License :: OSI Approved :: MIT License - Environment :: Console - Natural Language :: English - Programming Language :: Python :: 3.7 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 - Topic :: Software Development - Topic :: Utilities - Topic :: Software Development :: Version Control - Intended Audience :: Developers - Intended Audience :: Education - -[options] -setup_requires = - wheel -install_requires = - numpy>=1,<2 - click>=6 - pandas>=1<2 - tqdm>=4 - python-dateutil>=2 - scikit-learn>=1,<2 - lizard>1.17 - mypy-extensions -include_package_data = True, -packages = codemetrics -test_suite = tests -python_requires = >=3.6 - -[entry_points] -console_scripts = - cm_func_stats=codemetrics.cmdline:cm_func_stats - -[build-system] -requires = - setuptools>=40.9.0 - wheel -build-backend = "setuptools.build_meta" - -[bumpversion:file:setup.cfg] -search = version = {current_version} -replace = version = {new_version} - -[bumpversion:file:codemetrics/__init__.py] -search = __version__ = "{current_version}" -replace = __version__ = "{new_version}" - -[bdist_wheel] -universal = 1 - -[flake8] -exclude = docs -max-line-length = 119 - -[isort] -profile = black - -[tox:tox] -envlist = py37, py38, py39, py310, coverage, docs -isolated_build = True - -[testenv] -deps = - --prefer-binary - . - pytest -commands = pytest tests - -[testenv:coverage] -deps = - --prefer-binary - . - pytest - pytest-cov -commands = - coverage erase - pytest --cov=codemetrics --cov-branch --cov-report=term-missing:skip-covered --cov-config=setup.cfg - coverage report --omit='.tox/*' - coverage html --omit='.tox/*' - -[testenv:docs] -deps = - sphinx - sphinx-autodoc-typehints - sphinx-rtd-theme -commands = python setup.py build_sphinx - -[tool:pytest] -norecursedirs = .* *.egg* build dist docs conf - -[coverage:run] -omit = - docs/* - tests/* - conf/* - -[aliases] diff --git a/setup.py b/setup.py deleted file mode 100644 index 9479f36..0000000 --- a/setup.py +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -"""The setup script.""" - -import setuptools - -if __name__ == "__main__": - setuptools.setup() diff --git a/tests/test_cmdline.py b/tests/test_cmdline.py index 079749c..4b2cf8a 100644 --- a/tests/test_cmdline.py +++ b/tests/test_cmdline.py @@ -123,9 +123,7 @@ def test_bad_line_no(self): """Bad line number raise an exception.""" result = self.invoke("is_prime.cpp 12".split()) self.assertNotEqual(0, result.exit_code) - expected = ( - "Error: Invalid value: no function found in is_prime.cpp " "at line 12" - ) + expected = "Error: Invalid value: no function found in is_prime.cpp at line 12" self.assertIn(expected, result.output) diff --git a/tests/test_core.py b/tests/test_core.py index 3ab1130..4cc2e08 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -175,31 +175,43 @@ class HotSpotReportTestCase(SimpleRepositoryFixture): def setUp(self): super().setUp() - self.expected = pd.read_csv( - io.StringIO( - textwrap.dedent( - """ + self.expected = ( + pd.read_csv( + io.StringIO( + textwrap.dedent( + """ language,path,blank,comment,lines,changes Python,stats.py,28,84,100,1.0 Unknown,requirements.txt,0,0,3,0 """ - ) - ), - dtype={"language": "string", "path": "string", "changes": "Int64"}, + ) + ), + dtype={"language": "string", "path": "string", "changes": "Int64"}, + ) + .sort_values(by="language") + .reset_index(drop=True) ) def test_hot_spot_report(self): """Generate a report to find hot spots.""" after = dt.datetime(2018, 2, 26, tzinfo=dt.timezone.utc) log = self.log.loc[self.log["date"] >= after, :] - actual = cm.get_hot_spots(log, self.loc) + actual = ( + cm.get_hot_spots(log, self.loc) + .sort_values(by="language") + .reset_index(drop=True) + ) self.assertEqual(self.expected, actual) def test_hot_spot_report_by_path(self): """Generate a report to find hot spots with path passed explicitely.""" after = dt.datetime(2018, 2, 26, tzinfo=dt.timezone.utc) log = self.log.loc[self.log["date"] >= after, :] - actual = cm.get_hot_spots(log, self.loc, by="path") + actual = ( + cm.get_hot_spots(log, self.loc, by="path") + .sort_values(by="language") + .reset_index(drop=True) + ) self.assertEqual(self.expected, actual) def test_hot_spot_with_custom_change_metric(self): @@ -210,7 +222,11 @@ def test_hot_spot_with_custom_change_metric(self): """ self.log["day"] = dt.datetime(2018, 2, 24, tzinfo=dt.timezone.utc) - actual = cm.get_hot_spots(self.log, self.loc, count_one_change_per=["day"]) + actual = ( + cm.get_hot_spots(self.log, self.loc, count_one_change_per=["day"]) + .sort_values(by="language") + .reset_index(drop=True) + ) self.expected.loc[1, "changes"] = 1 # from 2 changes. self.assertEqual(self.expected, actual) @@ -391,7 +407,7 @@ def setUp(self): def test_can_guess_components(self): """Cluster paths in components.""" actual = cm.guess_components( - self.paths, stop_words={"code_maat"}, n_clusters=10 + self.paths, stop_words=["code_maat"], n_clusters=10 ) actual = actual.sort_values(by="path").reset_index(drop=True) expected = code_maat_dataset @@ -401,10 +417,12 @@ def test_guess_components_for_specific_n_clusters(self): """Cluster paths to a specific number of components""" n_clusters = 3 comps = cm.guess_components( - self.paths, stop_words={"code_maat"}, n_clusters=n_clusters + self.paths, stop_words=["code_maat"], n_clusters=n_clusters ) actual = comps[["component"]].drop_duplicates().reset_index(drop=True) - expected = pd.DataFrame(data={"component": ["parsers", "src.analysis", "test"]}) + expected = pd.DataFrame( + data={"component": ["analysis", "end_to_end.test", "parsers"]} + ) self.assertEqual(expected, actual) @@ -446,10 +464,10 @@ def setUp(self): io.StringIO( textwrap.dedent( """\ - revision,path,function,cyclomatic_complexity,nloc,token_count,name,long_name,start_line,end_line,top_nesting_level,fan_in,fan_out,general_fan_out,file_tokens,file_nloc,length - r1,f.py,0,2,4,16,test,test( ),1,4,0,0,0,0,17,4,4 - r2,f.py,0,1,2,8,test,test( ),1,2,0,0,0,0,18,4,2 - r2,f.py,1,1,2,8,other,other( ),4,5,0,0,0,0,18,4,2 + revision,path,function,cyclomatic_complexity,nloc,token_count,name,long_name,start_line,end_line,top_nesting_level,fan_in,fan_out,general_fan_out,max_nesting_depth,file_tokens,file_nloc,length + r1,f.py,0,2,4,16,test,test( ),1,4,0,0,0,0,0,17,4,4 + r2,f.py,0,1,2,8,test,test( ),1,2,0,0,0,0,0,18,4,2 + r2,f.py,1,1,2,8,other,other( ),4,5,0,0,0,0,0,18,4,2 """ ) ), diff --git a/tests/test_scm.py b/tests/test_scm.py index 92677f7..a1b6b52 100644 --- a/tests/test_scm.py +++ b/tests/test_scm.py @@ -185,11 +185,14 @@ def test_project_has_get_log_interface(self): class BaseProjectTestCase(unittest.TestCase): - """"Special use case tied to scm.Project + ( + """"Special use case tied to scm.Project scm.Project is used as a base class for Git and SVN project and in tests. - """ "" + """ + "" + ) def setUp(self): self.project = scm.Project() diff --git a/tests/test_svn.py b/tests/test_svn.py index ad14dba..6acdd5d 100644 --- a/tests/test_svn.py +++ b/tests/test_svn.py @@ -31,7 +31,7 @@ def get_log(dates=None): f""" elmotec - {date.strftime('%Y-%m-%dT%H:%M:%S.%fZ')} + {date.strftime("%Y-%m-%dT%H:%M:%S.%fZ")} /project/trunk/stats.py diff --git a/tests/utils.py b/tests/utils.py index 5076d08..394c35c 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -4,7 +4,6 @@ """Test utility functions and wrappers.""" - import io import unittest