typeshed_stats


Nametypeshed_stats JSON
Version 25.1.19 PyPI version JSON
download
home_pageNone
SummaryLibrary and command-line tool to gather stats on typeshed packages
upload_time2025-01-19 01:25:38
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/39/bc/0476694d4cb1f5fb5454d62592681ff70de070d222bcbe30f5d15f6e5c8b/typeshed_stats-25.1.19.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": "25.1.19",
    "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": "454f31e7201a9976e7343cf64366c8b769632edf52b941b8b24ea502a1f31901",
                "md5": "970b02c8c9e53b0c2aaba96e4c22161e",
                "sha256": "1f281188807edb106378b3f8a0ba6f5b483ea81d45fe8951162ea24aa456d3ee"
            },
            "downloads": -1,
            "filename": "typeshed_stats-25.1.19-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "970b02c8c9e53b0c2aaba96e4c22161e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 23317,
            "upload_time": "2025-01-19T01:25:36",
            "upload_time_iso_8601": "2025-01-19T01:25:36.499770Z",
            "url": "https://files.pythonhosted.org/packages/45/4f/31e7201a9976e7343cf64366c8b769632edf52b941b8b24ea502a1f31901/typeshed_stats-25.1.19-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "39bc0476694d4cb1f5fb5454d62592681ff70de070d222bcbe30f5d15f6e5c8b",
                "md5": "84f5c5c221145201d552ae34397a5700",
                "sha256": "7cc3ae4333162a4037633c04845228efcbf7fc3476c00c9e3ddf8ce809f9cbc1"
            },
            "downloads": -1,
            "filename": "typeshed_stats-25.1.19.tar.gz",
            "has_sig": false,
            "md5_digest": "84f5c5c221145201d552ae34397a5700",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 987193,
            "upload_time": "2025-01-19T01:25:38",
            "upload_time_iso_8601": "2025-01-19T01:25:38.306194Z",
            "url": "https://files.pythonhosted.org/packages/39/bc/0476694d4cb1f5fb5454d62592681ff70de070d222bcbe30f5d15f6e5c8b/typeshed_stats-25.1.19.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-19 01:25:38",
    "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: 1.20347s