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.20
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.20.tar.gz | 998.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| typeshed_stats-26.9.20-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.0 MB
Release files / typeshed_stats-26.9.20.tar.gz
| Download URL | typeshed_stats-26.9.20.tar.gz |
|---|---|
| Size | 998.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
db430e94276299868399b0f3a1bbb9d43fa073edbec78985af390bde04174ac2
|
|
BLAKE2b-256 checksum How to use checksums |
7bf0b4884a220776d4e1aad39405126b4571de730085b0c9388ded9a677417d8
|
| 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.20-py3-none-any.whl
| Download URL | typeshed_stats-26.9.20-py3-none-any.whl |
|---|---|
| Size | 23.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5b31ef5086f7cfb9fde081f4f8e684ff019b075c6acb2732b38634f872529b55
|
|
BLAKE2b-256 checksum How to use checksums |
c35473651cad18c75d2e8aecb0ed4a9c8eca334c636fff31095dbedc5fcafd33
|
| 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}
|