Skip to main content

remake scratch's remix tree feature #BringBackRemixTrees

Project description

scratch-remixtree 🫚

PyPI version License Alastrantia All tests

Tools to rebuild Scratch's remix tree feature!
🌐 Try the web version instantly: https://remixtree.alass.dev
#BringBackRemixTrees

Like it? Star the repo to help others find it and make me feel good 🥺

Demos :DD

CLI demo

CLI Version
Project: https://scratch.mit.edu/projects/948573479/
Command: remixtree 948573479 --output tree.txt --verbose

Web demo

Web Version
Try it instantly at https://remixtree.alass.dev!

What is this?

Scratch removed the remix tree feature without any warning... So, here we go again, as a webapp and a CLI!

This tool fetches a project's remixes and builds a tree showing how all the remixes connect, using the official scratch API.

Features

  • Web version built with FastAPI, CLI built with rich
  • Async, can create large trees decently fast
  • Optional verbose mode to go crazy (CLI-only)
  • Save the full remix tree to a file if ya want to
  • Supports max depth if you wanna show empathy for the Scratch Servers (CLI-only)
  • Works on Linux, macOS, and Windows (Python 3.9+) (hopefully, if not, tell me)

Installation for the CLI

Recommended: using pipx (isolated, should-work):

pip install --user pipx
pipx install remixtree

Alternatively:

pip install remixtree

Basic Usage

(This is only for the CLI, the WebApp is pretty self-explanatory)

Example:

remixtree 1223809053 --depth 3 --output tree_output.txt

More options:

-h, --help: 
    get a list of flags like this one
-d, --depth:
    specify how deep the tree should go, default is unlimited
-v, --verbose:
    just try it, you'll see for yourself
-o, --output:
    probably the most important flag, specify where the tree should be saved
-c, --color:
    enable color coding by depth (disabled by default), will use rich color formatting

Example Output

└── root(1196834984)
    ├── » planet b «(1198230426)
    │   └── » planet b « remix(1212924547)
    ├── Apex Construction (BB7 Entry)(1198230627)
    ├── pinnacle constructions(1198232264)
    ├── R1(1198238918)
    │   └── R1 remix(1223273999)
    ├── ⬠ equilux branding (1198261493)
    ├── BB7 -  Keystone Works(1198288240)
    ├── AEDIFI(1198372015)
    ├── Mace - BB7 R1(1198407780)
    ... 

Feature Tracker

  • ASCII tree visualization
  • Async fetching
  • Depth limiting
  • Verbose mode
  • File output
  • Color coding
  • Interactive tree navigation (yes, but not the original tree yet)
  • Export to JSON/CSV
  • Web interface
  • Batch processing

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

remixtree-0.1.16.tar.gz (6.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

remixtree-0.1.16-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file remixtree-0.1.16.tar.gz.

File metadata

  • Download URL: remixtree-0.1.16.tar.gz
  • Upload date:
  • Size: 6.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for remixtree-0.1.16.tar.gz
Algorithm Hash digest
SHA256 1aa0d9197773d20486af7bffb90ac81440b754d49c259d05e24f8e569954e888
MD5 7f27a93d9b9753a95d3e0b2cd5ce4139
BLAKE2b-256 502e202fb457d1f314a47a0edb996c217cfec589307537f674e2cc6b2b1ff74c

See more details on using hashes here.

File details

Details for the file remixtree-0.1.16-py3-none-any.whl.

File metadata

  • Download URL: remixtree-0.1.16-py3-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for remixtree-0.1.16-py3-none-any.whl
Algorithm Hash digest
SHA256 31e745117ff48e6e3a6fc15392ee2ab7d87e07506aa5258359cc2d4c319ed9f3
MD5 8c9be0f7b27775fc3c159696e02adf72
BLAKE2b-256 9738b0623cd8c2afc1c436bdb0bd2d6547764c9c8a0f035969475df5678e147e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page