What's this project for?
This project is for easy gathering of statistics relating to typeshed's stubs. As well as being a CLI tool and library, it also powers a website 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
.csvfile with stats on all typeshed stubs:typeshed-stats --typeshed-dir <PATH_TO_TYPESHED_CLONE> --to-file stats.csv(the.csvfile 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-SocketIOandCPythonin 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:
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?
- Run
pip install typeshed-stats[rich]to install the package - Run
typeshed-stats --helpfor information about various options
Are there any examples of things this script can produce, other than the website?
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?
- Clone the repo and
cdinto it - Create and activate a virtual environment
- Run
pip install -e .[dev] - Either run the linters/tests individually (see the
.github/workflowsdirectory for details about what's run in CI) or use thescripts/runtests.pyconvenience script to run them all in succession.
Metadata
Release files for typeshed_stats 26.9.13
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| typeshed_stats-26.9.13.tar.gz | 998.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| typeshed_stats-26.9.13-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.0 MB
Release files / typeshed_stats-26.9.13.tar.gz
| Download URL | typeshed_stats-26.9.13.tar.gz |
|---|---|
| Size | 998.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1d43b55c07a77b8f9e9d651f9bc8bf27c6261ab9f13c678fde1e107c9685e427
|
|
BLAKE2b-256 checksum How to use checksums |
b5c1b8de17fa76e53b6ca51fc368c3a9057e03162ebe5ab37adfbce9ea709720
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / typeshed_stats-26.9.13-py3-none-any.whl
| Download URL | typeshed_stats-26.9.13-py3-none-any.whl |
|---|---|
| Size | 23.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
588817ed715d1e0bfd141cfa447393daf88d9bb7bea34969529eb2532889c201
|
|
BLAKE2b-256 checksum How to use checksums |
3b4d2964d9b7ef887b2d3000e0012122d7d41b07882ee5684894adac95a543ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|