typeshed_stats


Nametypeshed_stats JSON
Version 24.12.15 PyPI version JSON
download
home_pageNone
SummaryLibrary and command-line tool to gather stats on typeshed packages
upload_time2024-12-15 01:42:39
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseMIT
keywords stubs typeshed typing
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align=center>

# typeshed-stats

<img src="https://raw.githubusercontent.com/AlexWaygood/typeshed-stats/main/stats_website/big_logo.png" width="500" alt="A Python in a field of wheat with a shed behind it, golden-red sunset in the background">

<br>

---

## A CLI tool and library to gather stats on [typeshed](https://github.com/python/typeshed)

<br>

[![website](https://img.shields.io/website?down_color=red&down_message=Offline&style=for-the-badge&up_color=green&up_message=Running&url=https%3A%2F%2Falexwaygood.github.io%2Ftypeshed-stats%2F)](https://alexwaygood.github.io/typeshed-stats/)[![build status](https://img.shields.io/github/actions/workflow/status/AlexWaygood/typeshed-stats/test.yml?branch=main&label=Tests&style=for-the-badge)](https://github.com/AlexWaygood/typeshed-stats/actions/workflows/test.yml)
<br>
[![Checked with mypy](https://img.shields.io/badge/mypy-checked-blue?style=for-the-badge)](http://mypy-lang.org/)[![Code style: Ruff](https://img.shields.io/badge/Code_style-Ruff-D7FF64?style=for-the-badge&logo=ruff)](https://github.com/astral-sh/ruff)[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white&style=for-the-badge)](https://pre-commit.ci)
<br>
[![PyPI](https://img.shields.io/pypi/v/typeshed-stats?style=for-the-badge)](https://pypi.org/project/typeshed-stats/)![PyPI - Wheel](https://img.shields.io/pypi/wheel/typeshed-stats?style=for-the-badge)[![license](https://img.shields.io/github/license/AlexWaygood/typeshed-stats?style=for-the-badge)](https://opensource.org/licenses/MIT)

---

<br>
</div>

## What's this project for?

This project is for easy gathering of statistics relating to [typeshed](https://github.com/python/typeshed)'s stubs. As well as being a CLI tool and library, it also powers [a website](https://alexwaygood.github.io/typeshed-stats/) where stats about typeshed's stubs are uploaded twice a day.

This project was created by Alex Waygood. It is not necessarily endorsed by any of the other typeshed maintainers.

Some examples of things you can do from the command line:

- Create a `.csv` file with stats on all typeshed stubs: `typeshed-stats --typeshed-dir <PATH_TO_TYPESHED_CLONE> --to-file stats.csv` (the `.csv` file extension will be automatically detected by the script to identify the format required).
- Pretty-print stats on typeshed stubs for emoji and redis to the terminal, in JSON format: `typeshed-stats --typeshed-dir <PATH_TO_TYPESHED_CLONE> --to-json emoji redis`
- Generate a MarkDown file detailing stats on typeshed's stubs for protobuf and the stdlib: `typeshed-stats --typeshed-dir <PATH_TO_TYPESHED_CLONE> --to-file stats.md stdlib protobuf`
- Open the upstream repository URLs for `requests`, `Flask-SocketIO` and `CPython` in your default web browser: `typeshed-stats --typeshed-dir <PATH_TO_TYPESHED_CLONE> --upstream-repo requests Flask-SocketIO stdlib`

Example usage of the Python-level API:

```python
from typeshed_stats.gather import tmpdir_typeshed, gather_stats

with tmpdir_typeshed() as typeshed:
    stats_on_all_packages = gather_stats_on_multiple_packages(typeshed_dir=typeshed)
```

## How can I use this?

1. Run `pip install typeshed-stats[rich]` to install the package
1. Run `typeshed-stats --help` for information about various options

## Are there any examples of things this script can produce, other than [the website](https://alexwaygood.github.io/typeshed-stats/)?

I'm glad you asked! They're in the `examples/` folder in this repo.
(These examples are generated using the `regenerate.py` script in the `scripts/` directory.)

## How do I run tests/linters?

1. Clone the repo and `cd` into it
1. Create and activate a virtual environment
1. Run `pip install -e .[dev]`
1. Either run the linters/tests individually (see the `.github/workflows` directory for details about what's run in CI) or use the `scripts/runtests.py` convenience script to run them all in succession.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "typeshed_stats",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": "stubs, typeshed, typing",
    "author": null,
    "author_email": "Alex Waygood <alex.waygood@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/d3/1a/ab7bf8bb338886f801954afed038987aa27f7dacb2112ff818ef87e358fb/typeshed_stats-24.12.15.tar.gz",
    "platform": null,
    "description": "<div align=center>\n\n# typeshed-stats\n\n<img src=\"https://raw.githubusercontent.com/AlexWaygood/typeshed-stats/main/stats_website/big_logo.png\" width=\"500\" alt=\"A Python in a field of wheat with a shed behind it, golden-red sunset in the background\">\n\n<br>\n\n---\n\n## A CLI tool and library to gather stats on [typeshed](https://github.com/python/typeshed)\n\n<br>\n\n[![website](https://img.shields.io/website?down_color=red&down_message=Offline&style=for-the-badge&up_color=green&up_message=Running&url=https%3A%2F%2Falexwaygood.github.io%2Ftypeshed-stats%2F)](https://alexwaygood.github.io/typeshed-stats/)[![build status](https://img.shields.io/github/actions/workflow/status/AlexWaygood/typeshed-stats/test.yml?branch=main&label=Tests&style=for-the-badge)](https://github.com/AlexWaygood/typeshed-stats/actions/workflows/test.yml)\n<br>\n[![Checked with mypy](https://img.shields.io/badge/mypy-checked-blue?style=for-the-badge)](http://mypy-lang.org/)[![Code style: Ruff](https://img.shields.io/badge/Code_style-Ruff-D7FF64?style=for-the-badge&logo=ruff)](https://github.com/astral-sh/ruff)[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white&style=for-the-badge)](https://pre-commit.ci)\n<br>\n[![PyPI](https://img.shields.io/pypi/v/typeshed-stats?style=for-the-badge)](https://pypi.org/project/typeshed-stats/)![PyPI - Wheel](https://img.shields.io/pypi/wheel/typeshed-stats?style=for-the-badge)[![license](https://img.shields.io/github/license/AlexWaygood/typeshed-stats?style=for-the-badge)](https://opensource.org/licenses/MIT)\n\n---\n\n<br>\n</div>\n\n## What's this project for?\n\nThis project is for easy gathering of statistics relating to [typeshed](https://github.com/python/typeshed)'s stubs. As well as being a CLI tool and library, it also powers [a website](https://alexwaygood.github.io/typeshed-stats/) where stats about typeshed's stubs are uploaded twice a day.\n\nThis project was created by Alex Waygood. It is not necessarily endorsed by any of the other typeshed maintainers.\n\nSome examples of things you can do from the command line:\n\n- Create a `.csv` file with stats on all typeshed stubs: `typeshed-stats --typeshed-dir <PATH_TO_TYPESHED_CLONE> --to-file stats.csv` (the `.csv` file extension will be automatically detected by the script to identify the format required).\n- Pretty-print stats on typeshed stubs for emoji and redis to the terminal, in JSON format: `typeshed-stats --typeshed-dir <PATH_TO_TYPESHED_CLONE> --to-json emoji redis`\n- Generate a MarkDown file detailing stats on typeshed's stubs for protobuf and the stdlib: `typeshed-stats --typeshed-dir <PATH_TO_TYPESHED_CLONE> --to-file stats.md stdlib protobuf`\n- Open the upstream repository URLs for `requests`, `Flask-SocketIO` and `CPython` in your default web browser: `typeshed-stats --typeshed-dir <PATH_TO_TYPESHED_CLONE> --upstream-repo requests Flask-SocketIO stdlib`\n\nExample usage of the Python-level API:\n\n```python\nfrom typeshed_stats.gather import tmpdir_typeshed, gather_stats\n\nwith tmpdir_typeshed() as typeshed:\n    stats_on_all_packages = gather_stats_on_multiple_packages(typeshed_dir=typeshed)\n```\n\n## How can I use this?\n\n1. Run `pip install typeshed-stats[rich]` to install the package\n1. Run `typeshed-stats --help` for information about various options\n\n## Are there any examples of things this script can produce, other than [the website](https://alexwaygood.github.io/typeshed-stats/)?\n\nI'm glad you asked! They're in the `examples/` folder in this repo.\n(These examples are generated using the `regenerate.py` script in the `scripts/` directory.)\n\n## How do I run tests/linters?\n\n1. Clone the repo and `cd` into it\n1. Create and activate a virtual environment\n1. Run `pip install -e .[dev]`\n1. Either run the linters/tests individually (see the `.github/workflows` directory for details about what's run in CI) or use the `scripts/runtests.py` convenience script to run them all in succession.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Library and command-line tool to gather stats on typeshed packages",
    "version": "24.12.15",
    "project_urls": {
        "Bug Tracker": "https://github.com/AlexWaygood/typeshed-stats/issues",
        "Homepage": "https://github.com/AlexWaygood/typeshed-stats"
    },
    "split_keywords": [
        "stubs",
        " typeshed",
        " typing"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "08c85f6fdb4208cd5895099bc0a44a69c31524e29efe54132b0a7760c8445ccb",
                "md5": "75873524c29c8a984e506c871cbc1f45",
                "sha256": "6c5bcc8acc0416ec17046f1575d78200e6eeddd2bb5594a90cbb5b8e3bd71370"
            },
            "downloads": -1,
            "filename": "typeshed_stats-24.12.15-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "75873524c29c8a984e506c871cbc1f45",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 23320,
            "upload_time": "2024-12-15T01:42:37",
            "upload_time_iso_8601": "2024-12-15T01:42:37.246808Z",
            "url": "https://files.pythonhosted.org/packages/08/c8/5f6fdb4208cd5895099bc0a44a69c31524e29efe54132b0a7760c8445ccb/typeshed_stats-24.12.15-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d31aab7bf8bb338886f801954afed038987aa27f7dacb2112ff818ef87e358fb",
                "md5": "6d1bc72838593307bd8de6cd73b1f1e8",
                "sha256": "6afd62962b379802c663e2201ac489a13f120510e484a22d377208de359e0e83"
            },
            "downloads": -1,
            "filename": "typeshed_stats-24.12.15.tar.gz",
            "has_sig": false,
            "md5_digest": "6d1bc72838593307bd8de6cd73b1f1e8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 985564,
            "upload_time": "2024-12-15T01:42:39",
            "upload_time_iso_8601": "2024-12-15T01:42:39.631658Z",
            "url": "https://files.pythonhosted.org/packages/d3/1a/ab7bf8bb338886f801954afed038987aa27f7dacb2112ff818ef87e358fb/typeshed_stats-24.12.15.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-15 01:42:39",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "AlexWaygood",
    "github_project": "typeshed-stats",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "typeshed_stats"
}
        
Elapsed time: 0.39401s