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.15.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.15-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: remixtree-0.1.15.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.15.tar.gz
Algorithm Hash digest
SHA256 3b71f0537cc58b13e59cd0ec0ac578cd0191c2d8899ffb5b6fb0c9d636a5ff8b
MD5 97cc31f91d282c4430aa36b1af88147d
BLAKE2b-256 5f3bf36fe09ada25d05bb860783dcbf2aaa228582c60afdf4e0a422d6077d3f1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: remixtree-0.1.15-py3-none-any.whl
  • Upload date:
  • Size: 10.6 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.15-py3-none-any.whl
Algorithm Hash digest
SHA256 acbf0eb969e2dbeefe2144a59910904a7861eeda05ff20b2a265d3c186280493
MD5 1eb0542a8cb2c1b796036172c5f2e117
BLAKE2b-256 03eea03f48f54bfd4056e6de4dd33f98c6068c21582fb1c721bdb40b287defb9

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