Skip to main content

Printables Stats Scraper

A Python library and CLI tool to scrape public user statistics from Printables.com, including detailed badge levels.

Features

  • Public Stats: Fetches downloads, likes, followers, following, joined date, and model count.
  • Detailed Badges: Parses badges into a dictionary of {Name: Level} (e.g., {'Designer': 1, 'Maker': 4}).

Installation

From PyPI

pip install printables-stats

From Source

This project uses uv for dependency management.

# Clone the repository
git clone https://gitlab.com/yourusername/printables-stats.git
cd printables-stats

# Install dependencies
uv sync

Usage

CLI

You can use the included script to fetch stats for a specific user.

uv run python -m printables_stats @josefprusa

Output Example:

{
  "downloads": 4,
  "likes": 1,
  "followers": 0,
  "following": 4,
  "joined_date": "November 6, 2025",
  "models_count": 4,
  "badges": {
    "Designer": 1,
    "Maker": 4,
    "Download Maniac": 3,
    "Printables Maniac": 1
  }
}

Library

from printables_stats import PrintablesClient

client = PrintablesClient()
stats = client.get_user_stats('@josefprusa')

if stats:
    print(f"Downloads: {stats.get('downloads')}")
    print(f"Badges: {stats.get('badges')}")

Development

Run quality checks and tests:

uv run ruff check .

uv run ruff format .

uv run ty check .

uv run pytest

Releasing to PyPI

Release Process

  1. Update the version in pyproject.toml
  2. Commit and push your changes
  3. Create and push a git tag:
    git tag v0.2.0
    git push origin v0.2.0
    
  4. In GitLab, navigate to CI/CD → Pipelines
  5. Manually trigger the release job to publish to PyPI
  6. Verify the package on https://pypi.org/project/printables-stats/

Metadata

Release files for printables-stats 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for printables-stats 0.3.0
File Size Uploaded Provenance Actions
printables_stats-0.3.0.tar.gz 27.6 MB Without provenance Details for printables_stats-0.3.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for printables-stats 0.3.0
File Interpreter ABI Platform Actions
printables_stats-0.3.0-py3-none-any.whl Python 3 none any Details for printables_stats-0.3.0-py3-none-any.whl

Total release size: 27.7 MB

Release files / printables_stats-0.3.0.tar.gz

Download URL printables_stats-0.3.0.tar.gz
Size 27.6 MB
Tags Source
SHA-256 checksum
How to use checksums
7cb1572ee1e572766971e95385da2f2f777ec7b16ec5e97ec473dc51202b9451
BLAKE2b-256 checksum
How to use checksums
c80ad0a79ba7d1bedd37ea2377b993d7fa4a2119a7bd2c4e3deb23b564bd8aff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / printables_stats-0.3.0-py3-none-any.whl

Download URL printables_stats-0.3.0-py3-none-any.whl
Size 17.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
089fd89566428c8e05518fd5cc5d0855104f1e361bbc553b7c5ef5eec1fd336e
BLAKE2b-256 checksum
How to use checksums
b49ca4bbcc73e1d6067cae0631013a52dffc10926506efe36827c105e6583bcf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.14.6

Security for printables-stats 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page