## Design study / Application
Helping gathering the state of the ecosystem in rust to make decisions based on them.
---
## Data
The [crates.io](https://crates.io) database dump (01.10.2021 02:00:36). This is the package-registry for rust-packages. It does not contain the crates (libraries) itself, but various meta-data such as dependencies, categories, upload / download statistics...
---
## Task
> As someone interested in using rust for the next project, I want to know how the ecosystem for my field is developed, finding out what is there and what is missing.
Finding the different sub-ecosystems, figuring out what is there what is missing.
---
## Contribution
crates.io allows searching by name, browsing through the categories, list dependencies and dependent crates but finding libraries for specific ecosystems usually happens via name search or by asking in forums. The goal is to find a visualization that enables exploration of the different ecosystems.
---
## Previous attempts to solve the problem
There are personal projects of people to visualize dependencies ([cargo live](https://crates.live/)). But these require to select a package and just visualize its dependencies.
Finding ecosystems and their crates is not supported. There was also a complete dependency graph of crates.io when it only contained 681 packages. Since this is not feasible to do anymore other techniques have to be used.
---
## Technological / methodological basis
This is a acyclic directed graph with meta-data for nodes and edges. Dividing the graph into subgraphs and using established graph-visualizations are the basis for this project.
---
## Extend
The Database dump contains approximately 500MiB of data. While this does not include the artifacts of the crate is does include the readme. This reduces the effective size to work with, but there are still 68333 crates and their dependencies saved in that database. By splitting the data into subgraphs, which have the same category assigned from its author, the problem can be reduced significantly.
{"metaMigratedAt":"2023-06-16T13:10:32.969Z","metaMigratedFrom":"YAML","title":"Project Plan","breaks":true,"description":"Project Plan","contributors":"[{\"id\":\"df757bb0-737d-47bf-9fac-317c2e0a7a18\",\"add\":3847,\"del\":1713}]"}