scikit-plots


Namescikit-plots JSON
Version 0.4.0 PyPI version JSON
download
home_pageNone
SummaryAn intuitive library to add plotting functionality to scikit-learn objects.
upload_time2024-11-15 00:40:03
maintainerNone
docs_urlNone
authorNone
requires_python>=3
licenseBSD-3 Clause License Copyright (c) [2024 - ], [scikit-plots Developers] Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
keywords matplotlib scikit-learn xgboost catboost tensorflow keras pytorch machine learning data science visualization
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            # Welcome to 101 Scikit-plots

## Single line functions for detailed visualizations

The quickest and easiest way to go from analysis...

## Sample Plots

<table style="margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;">
  <tr>
    <th style="width:50%;text-align:center;">Sample Plot 1</th>
    <th style="width:50%;text-align:center;">Sample Plot 2</th>
  </tr>
  <tr>
    <td style="width:50%;text-align:center;">
      <img style="display:block;width:100%;height:auto;" alt="plot_learning_curve.png" src="https://raw.githubusercontent.com/scikit-plots/scikit-plots.github.io/muhammed-dev/dev/_images/scikitplot-estimators-plot_learning_curve-1.png">
    </td>
    <td style="width:50%;text-align:center;">
      <img style="display:block;width:100%;height:auto;" alt="plot_calibration_curve.png" src="https://raw.githubusercontent.com/scikit-plots/scikit-plots.github.io/muhammed-dev/dev/_images/scikitplot-metrics-plot_calibration_curve-1.png">
    </td>
  </tr>
  <tr>
    <td style="width:50%;text-align:center;">
      <img style="display:block;width:100%;height:auto;" alt="plot_classifier_eval.png" src="https://raw.githubusercontent.com/scikit-plots/scikit-plots.github.io/muhammed-dev/dev/_images/scikitplot-metrics-plot_classifier_eval-1.png">
    </td>
    <td style="width:50%;text-align:center;">
      <img style="display:block;width:100%;height:auto;" alt="plot_feature_importances.png" src="https://raw.githubusercontent.com/scikit-plots/scikit-plots.github.io/muhammed-dev/dev/_images/scikitplot-estimators-plot_feature_importances-1.png">
    </td>
  </tr>
  <tr>
    <td style="width:50%;text-align:center;">
      <img style="display:block;width:100%;height:auto;" alt="plot_roc.png" src="https://raw.githubusercontent.com/scikit-plots/scikit-plots.github.io/muhammed-dev/dev/_images/scikitplot-metrics-plot_roc-1.png">
    </td>
    <td style="width:50%;text-align:center;">
      <img style="display:block;width:100%;height:auto;" alt="plot_precision_recall.png" src="https://raw.githubusercontent.com/scikit-plots/scikit-plots.github.io/muhammed-dev/dev/_images/scikitplot-metrics-plot_precision_recall-1.png">
    </td>
  </tr>
  <tr>
    <td style="width:50%;text-align:center;">
      <img style="display:block;width:100%;height:auto;" alt="plot_pca_component_variance.png" src="https://raw.githubusercontent.com/scikit-plots/scikit-plots.github.io/muhammed-dev/dev/_images/scikitplot-decomposition-plot_pca_component_variance-1.png">
    </td>
    <td style="width:50%;text-align:center;">
      <img style="display:block;width:100%;height:auto;" alt="plot_pca_2d_projection.png" src="https://raw.githubusercontent.com/scikit-plots/scikit-plots.github.io/muhammed-dev/dev/_images/scikitplot-decomposition-plot_pca_2d_projection-1.png">
    </td>
  </tr>
  <tr>
    <td style="width:50%;text-align:center;">
      <img style="display:block;width:100%;height:auto;" alt="plot_elbow.png" src="https://raw.githubusercontent.com/scikit-plots/scikit-plots.github.io/muhammed-dev/dev/_images/scikitplot-cluster-plot_elbow-1.png">
    </td>
    <td style="width:50%;text-align:center;">
      <img style="display:block;width:100%;height:auto;" alt="plot_silhouette.png" src="https://raw.githubusercontent.com/scikit-plots/scikit-plots.github.io/muhammed-dev/dev/_images/scikitplot-metrics-plot_silhouette-1.png">
    </td>
  </tr>
  <tr>
    <td style="width:50%;text-align:center;">
      <img style="display:block;width:100%;height:auto;" alt="plot_cumulative_gain.png" src="https://raw.githubusercontent.com/scikit-plots/scikit-plots.github.io/muhammed-dev/dev/_images/scikitplot-deciles-plot_cumulative_gain-1.png">
    </td>
    <td style="width:50%;text-align:center;">
      <img style="display:block;width:100%;height:auto;" alt="plot_lift.png" src="https://raw.githubusercontent.com/scikit-plots/scikit-plots.github.io/muhammed-dev/dev/_images/scikitplot-deciles-plot_lift-1.png">
    </td>
  </tr>
</table>


Scikit-plots is the result of an unartistic data scientist's dreadful realization that *visualization is one of the most crucial components in the data science process, not just a mere afterthought*.

Gaining insights is simply a lot easier when you're looking at a colored heatmap of a confusion matrix complete with class labels rather than a single-line dump of numbers enclosed in brackets. Besides, if you ever need to present your results to someone (virtually any time anybody hires you to do data science), you show them visualizations, not a bunch of numbers in Excel.

That said, there are a number of visualizations that frequently pop up in machine learning. Scikit-plots is a humble attempt to provide aesthetically-challenged programmers (such as myself) the opportunity to generate quick and beautiful graphs and plots with as little boilerplate as possible.

## Okay then, prove it. Show us an example.

Say we use [Keras Classifier](https://keras.io/api/models/sequential/) in multi-class classification and decide we want to visualize the results of a common classification metric, such as sklearn's [classification report](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.classification_report.html) with a [confusion matrix](https://scikit-learn.org/stable/auto_examples/model_selection/plot_confusion_matrix.html).

Let’s start with a basic example where we use a Keras classifier to evaluate the digits dataset provided by Scikit-learn.

```python
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'  # Suppress TensorFlow warnings
import numpy as np
import tensorflow as tf
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt
import scikitplot as skplt

# Load the digits dataset
X, y = load_digits(return_X_y=True)

# Split the dataset into training and validation sets
X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.3, random_state=1)

# Convert labels to one-hot encoding
Y_train = tf.keras.utils.to_categorical(y_train)
Y_val = tf.keras.utils.to_categorical(y_val)

# Define a simple TensorFlow model
model = tf.keras.Sequential([
    tf.keras.layers.Input(shape=(X_train.shape[1],)),
    tf.keras.layers.Dense(64, activation='relu'),
    tf.keras.layers.Dense(32, activation='relu'),
    tf.keras.layers.Dense(10, activation='softmax')
])

# Compile the model
model.compile(optimizer='adam',
              loss='categorical_crossentropy',
              metrics=['accuracy'])

# Train the model
model.fit(
    X_train, Y_train,
    batch_size=64,
    epochs=10,
    validation_data=(X_val, Y_val),
    verbose=0
)

# Predict probabilities on the validation set
y_probas = model.predict(X_val)

# Plot precision-recall curves
skplt.metrics.plot_precision_recall(y_val, y_probas)
plt.show()
```

<div align=center>
  <img style="display:block;width:60%;height:auto;align:center;" alt="quick_start" src="https://scikit-plots.github.io/stable/_images/quick_start-2.png">
</div>

Pretty.

## Maximum flexibility. Compatibility with non-scikit-learn objects.

Although Scikit-plot is loosely based around the scikit-learn interface, you don't actually need scikit-learn objects to use the available functions. 
As long as you provide the functions what they're asking for, they'll happily draw the plots for you.

The possibilities are endless.

## User Installation

1. **Install Scikit-plots**:
   - Use pip to install Scikit-plots:

     ```bash
     pip install scikit-plots
     ```

## Release Notes

See the [changelog](https://scikit-plots.github.io/stable/whats_new/whats_new.html)
for a history of notable changes to scikit-plots.

## Documentation and Examples

Explore the full features of Scikit-plot.

## Contributing to scikit-plots

Reporting a bug? Suggesting a feature? Want to add your own plot to the library? Visit our.

## Citing scikit-plots

1. scikit-plots, “scikit-plots: vlatest”. Zenodo, Aug. 23, 2024.
   DOI: [10.5281/zenodo.13367000](https://doi.org/10.5281/zenodo.13367000).

2. scikit-plots, “scikit-plots: v0.3.8dev0”. Zenodo, Aug. 23, 2024.
   DOI: [10.5281/zenodo.13367001](https://doi.org/10.5281/zenodo.13367001).
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "scikit-plots",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3",
    "maintainer_email": "=?utf-8?q?Muhammed_=C3=87elik?= <muhammed.business.network@gmail.com>",
    "keywords": "matplotlib, scikit-learn, xgboost, catboost, tensorflow, keras, pytorch, machine learning, data science, visualization",
    "author": null,
    "author_email": "\"Reiichiro Nakano et al.\" <reiichiro.s.nakano@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/01/0d/a844eede9b46847ab19354c6d91babe409f642af0ee3fadb443da98d4dbd/scikit_plots-0.4.0.tar.gz",
    "platform": null,
    "description": "# Welcome to 101 Scikit-plots\n\n## Single line functions for detailed visualizations\n\nThe quickest and easiest way to go from analysis...\n\n## Sample Plots\n\n<table style=\"margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;\">\n  <tr>\n    <th style=\"width:50%;text-align:center;\">Sample Plot 1</th>\n    <th style=\"width:50%;text-align:center;\">Sample Plot 2</th>\n  </tr>\n  <tr>\n    <td style=\"width:50%;text-align:center;\">\n      <img style=\"display:block;width:100%;height:auto;\" alt=\"plot_learning_curve.png\" src=\"https://raw.githubusercontent.com/scikit-plots/scikit-plots.github.io/muhammed-dev/dev/_images/scikitplot-estimators-plot_learning_curve-1.png\">\n    </td>\n    <td style=\"width:50%;text-align:center;\">\n      <img style=\"display:block;width:100%;height:auto;\" alt=\"plot_calibration_curve.png\" src=\"https://raw.githubusercontent.com/scikit-plots/scikit-plots.github.io/muhammed-dev/dev/_images/scikitplot-metrics-plot_calibration_curve-1.png\">\n    </td>\n  </tr>\n  <tr>\n    <td style=\"width:50%;text-align:center;\">\n      <img style=\"display:block;width:100%;height:auto;\" alt=\"plot_classifier_eval.png\" src=\"https://raw.githubusercontent.com/scikit-plots/scikit-plots.github.io/muhammed-dev/dev/_images/scikitplot-metrics-plot_classifier_eval-1.png\">\n    </td>\n    <td style=\"width:50%;text-align:center;\">\n      <img style=\"display:block;width:100%;height:auto;\" alt=\"plot_feature_importances.png\" src=\"https://raw.githubusercontent.com/scikit-plots/scikit-plots.github.io/muhammed-dev/dev/_images/scikitplot-estimators-plot_feature_importances-1.png\">\n    </td>\n  </tr>\n  <tr>\n    <td style=\"width:50%;text-align:center;\">\n      <img style=\"display:block;width:100%;height:auto;\" alt=\"plot_roc.png\" src=\"https://raw.githubusercontent.com/scikit-plots/scikit-plots.github.io/muhammed-dev/dev/_images/scikitplot-metrics-plot_roc-1.png\">\n    </td>\n    <td style=\"width:50%;text-align:center;\">\n      <img style=\"display:block;width:100%;height:auto;\" alt=\"plot_precision_recall.png\" src=\"https://raw.githubusercontent.com/scikit-plots/scikit-plots.github.io/muhammed-dev/dev/_images/scikitplot-metrics-plot_precision_recall-1.png\">\n    </td>\n  </tr>\n  <tr>\n    <td style=\"width:50%;text-align:center;\">\n      <img style=\"display:block;width:100%;height:auto;\" alt=\"plot_pca_component_variance.png\" src=\"https://raw.githubusercontent.com/scikit-plots/scikit-plots.github.io/muhammed-dev/dev/_images/scikitplot-decomposition-plot_pca_component_variance-1.png\">\n    </td>\n    <td style=\"width:50%;text-align:center;\">\n      <img style=\"display:block;width:100%;height:auto;\" alt=\"plot_pca_2d_projection.png\" src=\"https://raw.githubusercontent.com/scikit-plots/scikit-plots.github.io/muhammed-dev/dev/_images/scikitplot-decomposition-plot_pca_2d_projection-1.png\">\n    </td>\n  </tr>\n  <tr>\n    <td style=\"width:50%;text-align:center;\">\n      <img style=\"display:block;width:100%;height:auto;\" alt=\"plot_elbow.png\" src=\"https://raw.githubusercontent.com/scikit-plots/scikit-plots.github.io/muhammed-dev/dev/_images/scikitplot-cluster-plot_elbow-1.png\">\n    </td>\n    <td style=\"width:50%;text-align:center;\">\n      <img style=\"display:block;width:100%;height:auto;\" alt=\"plot_silhouette.png\" src=\"https://raw.githubusercontent.com/scikit-plots/scikit-plots.github.io/muhammed-dev/dev/_images/scikitplot-metrics-plot_silhouette-1.png\">\n    </td>\n  </tr>\n  <tr>\n    <td style=\"width:50%;text-align:center;\">\n      <img style=\"display:block;width:100%;height:auto;\" alt=\"plot_cumulative_gain.png\" src=\"https://raw.githubusercontent.com/scikit-plots/scikit-plots.github.io/muhammed-dev/dev/_images/scikitplot-deciles-plot_cumulative_gain-1.png\">\n    </td>\n    <td style=\"width:50%;text-align:center;\">\n      <img style=\"display:block;width:100%;height:auto;\" alt=\"plot_lift.png\" src=\"https://raw.githubusercontent.com/scikit-plots/scikit-plots.github.io/muhammed-dev/dev/_images/scikitplot-deciles-plot_lift-1.png\">\n    </td>\n  </tr>\n</table>\n\n\nScikit-plots is the result of an unartistic data scientist's dreadful realization that *visualization is one of the most crucial components in the data science process, not just a mere afterthought*.\n\nGaining insights is simply a lot easier when you're looking at a colored heatmap of a confusion matrix complete with class labels rather than a single-line dump of numbers enclosed in brackets. Besides, if you ever need to present your results to someone (virtually any time anybody hires you to do data science), you show them visualizations, not a bunch of numbers in Excel.\n\nThat said, there are a number of visualizations that frequently pop up in machine learning. Scikit-plots is a humble attempt to provide aesthetically-challenged programmers (such as myself) the opportunity to generate quick and beautiful graphs and plots with as little boilerplate as possible.\n\n## Okay then, prove it. Show us an example.\n\nSay we use [Keras Classifier](https://keras.io/api/models/sequential/) in multi-class classification and decide we want to visualize the results of a common classification metric, such as sklearn's [classification report](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.classification_report.html) with a [confusion matrix](https://scikit-learn.org/stable/auto_examples/model_selection/plot_confusion_matrix.html).\n\nLet\u2019s start with a basic example where we use a Keras classifier to evaluate the digits dataset provided by Scikit-learn.\n\n```python\nimport os\nos.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'  # Suppress TensorFlow warnings\nimport numpy as np\nimport tensorflow as tf\nfrom sklearn.datasets import load_digits\nfrom sklearn.model_selection import train_test_split\nimport matplotlib.pyplot as plt\nimport scikitplot as skplt\n\n# Load the digits dataset\nX, y = load_digits(return_X_y=True)\n\n# Split the dataset into training and validation sets\nX_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.3, random_state=1)\n\n# Convert labels to one-hot encoding\nY_train = tf.keras.utils.to_categorical(y_train)\nY_val = tf.keras.utils.to_categorical(y_val)\n\n# Define a simple TensorFlow model\nmodel = tf.keras.Sequential([\n    tf.keras.layers.Input(shape=(X_train.shape[1],)),\n    tf.keras.layers.Dense(64, activation='relu'),\n    tf.keras.layers.Dense(32, activation='relu'),\n    tf.keras.layers.Dense(10, activation='softmax')\n])\n\n# Compile the model\nmodel.compile(optimizer='adam',\n              loss='categorical_crossentropy',\n              metrics=['accuracy'])\n\n# Train the model\nmodel.fit(\n    X_train, Y_train,\n    batch_size=64,\n    epochs=10,\n    validation_data=(X_val, Y_val),\n    verbose=0\n)\n\n# Predict probabilities on the validation set\ny_probas = model.predict(X_val)\n\n# Plot precision-recall curves\nskplt.metrics.plot_precision_recall(y_val, y_probas)\nplt.show()\n```\n\n<div align=center>\n  <img style=\"display:block;width:60%;height:auto;align:center;\" alt=\"quick_start\" src=\"https://scikit-plots.github.io/stable/_images/quick_start-2.png\">\n</div>\n\nPretty.\n\n## Maximum flexibility. Compatibility with non-scikit-learn objects.\n\nAlthough Scikit-plot is loosely based around the scikit-learn interface, you don't actually need scikit-learn objects to use the available functions. \nAs long as you provide the functions what they're asking for, they'll happily draw the plots for you.\n\nThe possibilities are endless.\n\n## User Installation\n\n1. **Install Scikit-plots**:\n   - Use pip to install Scikit-plots:\n\n     ```bash\n     pip install scikit-plots\n     ```\n\n## Release Notes\n\nSee the [changelog](https://scikit-plots.github.io/stable/whats_new/whats_new.html)\nfor a history of notable changes to scikit-plots.\n\n## Documentation and Examples\n\nExplore the full features of Scikit-plot.\n\n## Contributing to scikit-plots\n\nReporting a bug? Suggesting a feature? Want to add your own plot to the library? Visit our.\n\n## Citing scikit-plots\n\n1. scikit-plots, \u201cscikit-plots: vlatest\u201d. Zenodo, Aug. 23, 2024.\n   DOI: [10.5281/zenodo.13367000](https://doi.org/10.5281/zenodo.13367000).\n\n2. scikit-plots, \u201cscikit-plots: v0.3.8dev0\u201d. Zenodo, Aug. 23, 2024.\n   DOI: [10.5281/zenodo.13367001](https://doi.org/10.5281/zenodo.13367001).",
    "bugtrack_url": null,
    "license": "BSD-3 Clause License  Copyright (c) [2024 - ], [scikit-plots Developers]  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.",
    "summary": "An intuitive library to add plotting functionality to scikit-learn objects.",
    "version": "0.4.0",
    "project_urls": {
        "Documentation": "https://scikit-plots.github.io/stable/",
        "Donate": "https://github.com/celik-muhammed/scikit-plot#donate",
        "Download": "https://github.com/celik-muhammed/scikit-plot/tree/muhammed-dev",
        "Forum": "https://github.com/celik-muhammed/scikit-plot/issues",
        "Homepage": "https://scikit-plots.github.io",
        "Issues": "https://github.com/celik-muhammed/scikit-plot/issues",
        "Repo_Forked": "https://github.com/reiinakano/scikit-plot",
        "Repository": "https://github.com/scikit-plots/scikit-plots",
        "changelog": "https://scikit-plots.github.io/dev/whats_new/whats_new.html"
    },
    "split_keywords": [
        "matplotlib",
        " scikit-learn",
        " xgboost",
        " catboost",
        " tensorflow",
        " keras",
        " pytorch",
        " machine learning",
        " data science",
        " visualization"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "010da844eede9b46847ab19354c6d91babe409f642af0ee3fadb443da98d4dbd",
                "md5": "b3b861baa709116eb12294fd67e47f9a",
                "sha256": "0291ea51c0a4aed872c489f8aa85b370db7ea1b09f41580dd8a0f33348304a82"
            },
            "downloads": -1,
            "filename": "scikit_plots-0.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "b3b861baa709116eb12294fd67e47f9a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3",
            "size": 92337986,
            "upload_time": "2024-11-15T00:40:03",
            "upload_time_iso_8601": "2024-11-15T00:40:03.051250Z",
            "url": "https://files.pythonhosted.org/packages/01/0d/a844eede9b46847ab19354c6d91babe409f642af0ee3fadb443da98d4dbd/scikit_plots-0.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-15 00:40:03",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "celik-muhammed",
    "github_project": "scikit-plot#donate",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "tox": true,
    "lcname": "scikit-plots"
}
        
Elapsed time: 0.70927s