https://github.com/ibis-project/better-pypi-stats
Better PyPI stats with Ibis, ClickHouse, and Shiny for Python.
https://github.com/ibis-project/better-pypi-stats
clickhouse ibis shiny
Last synced: 6 months ago
JSON representation
Better PyPI stats with Ibis, ClickHouse, and Shiny for Python.
- Host: GitHub
- URL: https://github.com/ibis-project/better-pypi-stats
- Owner: ibis-project
- License: mit
- Created: 2024-02-02T20:36:24.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-30T01:01:20.000Z (about 1 year ago)
- Last Synced: 2025-04-05T21:40:47.374Z (6 months ago)
- Topics: clickhouse, ibis, shiny
- Language: Python
- Homepage: https://connect.posit.cloud/lostmygithubaccount/content/019180af-9e47-14bd-0955-38e6d98a5f98
- Size: 43 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Better PyPI stats
You can use https://pypistats.org to see the downloads for a given PyPI package. However, the statistics and visualizations provided by the website are limited. The purpose of this project is to provide a better dynamic alternative with [Ibis](https://github.com/ibis-project/ibis), [ClickHouse](https://github.com/clickhouse/clickhouse), and [Shiny for Python](https://github.com/posit-dev/py-shiny).
## Dashboard
https://connect.posit.cloud/lostmygithubaccount/content/019180af-9e47-14bd-0955-38e6d98a5f98
## Connecting to data
```python
import ibisibis.options.interactive = True
host = "clickpy-clickhouse.clickhouse.com"
port = 443
user = "play"
database = "pypi"con = ibis.clickhouse.connect(
host=host,
port=port,
user=user,
database=database,
)con.list_tables()
```## Development
Install [`gh`](https://github.com/cli/cli) and [`just`](https://github.com/casey/just) and [`uv`](https://github.com/astral-sh/uv), then:
```bash
gh repo clone ibis-project/better-pypi-stats
cd better-pypi-stats
just setup
. .venv/bin/activate
just app
```## Contributing
Contributions welcome. Please format your code:
```bash
just fmt
```