50 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
{% layout 'layout.liquid' %}
 | 
						|
 | 
						|
{% block head %}
 | 
						|
<script src="/static/lib/sigma.min.js"></script>
 | 
						|
<script src="/static/lib/graphology.umd.min.js"></script>
 | 
						|
 | 
						|
<title>Depyth</title>
 | 
						|
{% endblock %}
 | 
						|
 | 
						|
{% block content %}
 | 
						|
<main class="p-4 flex-1 flex flex-col container mx-auto">
 | 
						|
		<header class="w-fit mx-auto mb-8">
 | 
						|
			<h1 class="text-5xl my-4 text-center">Depyth</h1>
 | 
						|
		</header>
 | 
						|
 | 
						|
	<h2 class="text-4xl my-3">Analysis of your requirements.txt</h2>
 | 
						|
 | 
						|
	<h3 class="text-3xl my-3">General</h3>
 | 
						|
 | 
						|
	<p>Installing your requirements.txt would mean installing up to <span class="font-bold">{{ nb_deps }}</span> packages, for a total download size of around <span class="font-bold">{{totalWeight.value}}</span>.</p>
 | 
						|
	<p>Note: this estimation does not take into account platforms and architectures, and includes all optional packages.</p>
 | 
						|
 | 
						|
	<h3 class="text-3xl my-3">Weight chart</h3>
 | 
						|
 | 
						|
 | 
						|
	<div class="grid grid-cols-[auto_1fr]">
 | 
						|
		{% for package in packageByWeight %}
 | 
						|
		<div class="flex flex-col justify-center h-16">
 | 
						|
			<p class="w-fit text-xl font-bold">{{package.name}}</p>
 | 
						|
			<p>{{package.humanWeight}} - {{ package.weight | divided_by: totalWeight.raw | times: 100 | round }}%</p>
 | 
						|
		</div>
 | 
						|
		<progress value="{{ package.weight }}" max="{{ totalWeight.raw }}" min="0" class="w-full h-16"></progress>
 | 
						|
	{% endfor %}
 | 
						|
	</div>
 | 
						|
 | 
						|
	<h3 class="text-3xl my-3">Dependency graph</h3>
 | 
						|
 | 
						|
	<div id="graph" class="w-full h-[60vh] bg-white border border-black"></div>
 | 
						|
 | 
						|
	<script>
 | 
						|
		const graph = new graphology.Graph();
 | 
						|
 | 
						|
		graph.import( JSON.parse(`{{ graph | json }}`) );
 | 
						|
 | 
						|
		// Instantiate sigma.js and render the graph
 | 
						|
		const sigmaInstance = new Sigma(graph, document.getElementById("graph"));
 | 
						|
	</script>
 | 
						|
</main>
 | 
						|
{% endblock %}
 |