diplotocus 0.0.1__tar.gz → 0.0.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- diplotocus-0.0.5/PKG-INFO +42 -0
- diplotocus-0.0.5/diplotocus/GUI/GUI.html +124 -0
- diplotocus-0.0.5/diplotocus/GUI/__init__.py +2 -0
- diplotocus-0.0.5/diplotocus/GUI/app.js +1564 -0
- diplotocus-0.0.5/diplotocus/GUI/server.py +1234 -0
- diplotocus-0.0.5/diplotocus/GUI/style.css +573 -0
- diplotocus-0.0.5/diplotocus/__init__.py +4 -0
- diplotocus-0.0.5/diplotocus/_generated_api.py +1977 -0
- diplotocus-0.0.5/diplotocus/_version.py +1 -0
- diplotocus-0.0.5/diplotocus/animations.py +3454 -0
- diplotocus-0.0.5/diplotocus/core.py +256 -0
- diplotocus-0.0.5/diplotocus/easings.py +284 -0
- diplotocus-0.0.5/diplotocus/generate_doc_api.py +151 -0
- diplotocus-0.0.5/diplotocus/readme.md +28 -0
- diplotocus-0.0.5/diplotocus.egg-info/PKG-INFO +42 -0
- diplotocus-0.0.5/diplotocus.egg-info/SOURCES.txt +19 -0
- diplotocus-0.0.5/diplotocus.egg-info/requires.txt +3 -0
- {diplotocus-0.0.1 → diplotocus-0.0.5}/pyproject.toml +11 -3
- diplotocus-0.0.1/LICENSE +0 -21
- diplotocus-0.0.1/PKG-INFO +0 -14
- diplotocus-0.0.1/diplotocus/__init__.py +0 -3
- diplotocus-0.0.1/diplotocus/_version.py +0 -1
- diplotocus-0.0.1/diplotocus/animations.py +0 -599
- diplotocus-0.0.1/diplotocus/core.py +0 -173
- diplotocus-0.0.1/diplotocus/easings.py +0 -17
- diplotocus-0.0.1/diplotocus.egg-info/PKG-INFO +0 -14
- diplotocus-0.0.1/diplotocus.egg-info/SOURCES.txt +0 -13
- diplotocus-0.0.1/readme.md +0 -1
- {diplotocus-0.0.1 → diplotocus-0.0.5}/diplotocus.egg-info/dependency_links.txt +0 -0
- {diplotocus-0.0.1 → diplotocus-0.0.5}/diplotocus.egg-info/top_level.txt +0 -0
- {diplotocus-0.0.1 → diplotocus-0.0.5}/setup.cfg +0 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: diplotocus
|
|
3
|
+
Version: 0.0.5
|
|
4
|
+
Summary: A python package to generate animations using pyplot.
|
|
5
|
+
Author-email: Tristan Boin <tristan.boin@obspm.fr>
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Classifier: Intended Audience :: Science/Research
|
|
8
|
+
Classifier: Operating System :: OS Independent
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Description-Content-Type: text/markdown
|
|
11
|
+
Requires-Dist: numpy
|
|
12
|
+
Requires-Dist: matplotlib
|
|
13
|
+
Requires-Dist: svgpath2mpl
|
|
14
|
+
|
|
15
|
+
<p align="center">
|
|
16
|
+
<img src="logo.png" />
|
|
17
|
+
</p>
|
|
18
|
+
|
|
19
|
+
[](https://star-age.github.io/diplotocus-docs/) [](https://github.com/star-age/Diplotocus/blob/main/LICENSE) [](https://pypi.org/project/diplotocus/)
|
|
20
|
+
|
|
21
|
+
**Diplotocus** is a python package designed to render animations of matplotlib plots, in a *timeline* style.
|
|
22
|
+
|
|
23
|
+
[Diplotocus Documentation](https://star-age.github.io/diplotocus-docs/)
|
|
24
|
+
|
|
25
|
+
# Installation :
|
|
26
|
+
|
|
27
|
+
- Using pip (preferred):
|
|
28
|
+
```bash
|
|
29
|
+
pip install diplotocus
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
- Download the source code of this repository, and run:
|
|
33
|
+
```bash
|
|
34
|
+
pip install .
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
# Dependencies:
|
|
38
|
+
- matplotlib
|
|
39
|
+
- numpy
|
|
40
|
+
- ffmpeg
|
|
41
|
+
- [svgpath2mpl](https://pypi.org/project/svgpath2mpl/)
|
|
42
|
+
- tqdm (optional)
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<title>Diplotocus Web GUI</title>
|
|
7
|
+
<link rel="stylesheet" href="style.css" />
|
|
8
|
+
<link rel="icon" type="image/x-icon" href="src/favicon.ico">
|
|
9
|
+
</head>
|
|
10
|
+
<body>
|
|
11
|
+
<main class="app-shell">
|
|
12
|
+
<!--
|
|
13
|
+
<header class="topbar">
|
|
14
|
+
<div class="actions">
|
|
15
|
+
<button id="loadDemo">Load Demo Project</button>
|
|
16
|
+
</div>
|
|
17
|
+
</header>
|
|
18
|
+
-->
|
|
19
|
+
|
|
20
|
+
<section class="preview-panel">
|
|
21
|
+
<img id="previewImage" alt="Preview frame" src="src/logo_bg.png" />
|
|
22
|
+
<div id="frameText"></div>
|
|
23
|
+
</section>
|
|
24
|
+
|
|
25
|
+
<div id="previewResizeHandle" title="Resize preview" aria-label="Resize preview" role="separator"></div>
|
|
26
|
+
|
|
27
|
+
<section class="timeline-controls">
|
|
28
|
+
<div class="control-gap" aria-hidden="true"></div>
|
|
29
|
+
<button id="btnClearFrames" title="Clear rendered frames" aria-label="Clear rendered frames">⊗</button>
|
|
30
|
+
<div class="control-gap" aria-hidden="true"></div>
|
|
31
|
+
<button id="btnSpeed" title="Playback speed" aria-label="Playback speed">x1</button>
|
|
32
|
+
<button id="btnToStart" title="Go to beginning" aria-label="Go to beginning">⏮</button>
|
|
33
|
+
<button id="btnPrev" title="Previous frame" aria-label="Previous frame">⇤︎</button>
|
|
34
|
+
<button id="btnPlayPause" title="Play playback" aria-label="Play">▶</button>
|
|
35
|
+
<button id="btnNext" title="Next frame" aria-label="Next frame">⇥︎</button>
|
|
36
|
+
<button id="btnToEnd" title="Go to end" aria-label="Go to end">⏭</button>
|
|
37
|
+
<button id="btnLoop" title="Loop off" aria-label="Loop off">⟳</button>
|
|
38
|
+
<div class="control-gap" aria-hidden="true"></div>
|
|
39
|
+
<button id="btnSaveVideo" title="Render timeline then save video" aria-label="Save video">⏺︎</button>
|
|
40
|
+
<button id="btnSaveProject" title="Save project" aria-label="Save project">↓</button>
|
|
41
|
+
</section>
|
|
42
|
+
|
|
43
|
+
<section class="workspace">
|
|
44
|
+
<aside class="palette">
|
|
45
|
+
<div class="palette-item" draggable="true" data-type="Translate">Translate</div>
|
|
46
|
+
<div class="palette-item" draggable="true" data-type="Rotate">Rotate</div>
|
|
47
|
+
<div class="palette-item" draggable="true" data-type="Scale">Scale</div>
|
|
48
|
+
<div class="palette-item" draggable="true" data-type="Tween">Tween</div>
|
|
49
|
+
<div class="palette-item" draggable="true" data-type="Morph">Morph</div>
|
|
50
|
+
<div class="palette-item" draggable="true" data-type="Draw">Draw</div>
|
|
51
|
+
<div class="palette-item" draggable="true" data-type="Sequence">Sequence</div>
|
|
52
|
+
</aside>
|
|
53
|
+
|
|
54
|
+
<section class="timeline-panel">
|
|
55
|
+
<div class="timeline-shell">
|
|
56
|
+
<div id="trackControls"></div>
|
|
57
|
+
<div class="timeline-main">
|
|
58
|
+
<div id="timelineViewport">
|
|
59
|
+
<div id="timeline">
|
|
60
|
+
<div id="timelineHeader">
|
|
61
|
+
<div id="frameStrip"></div>
|
|
62
|
+
<div id="timelineRuler"></div>
|
|
63
|
+
</div>
|
|
64
|
+
<div id="pinLayer">
|
|
65
|
+
<div id="timelinePin">
|
|
66
|
+
<div id="pinHandle"></div>
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
<div id="timelineResizeHandle" title="Resize timeline"></div>
|
|
70
|
+
</div>
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
</div>
|
|
74
|
+
</section>
|
|
75
|
+
|
|
76
|
+
<aside class="palette">
|
|
77
|
+
<div class="palette-item" draggable="true" data-type="Axis_zoom">Axis zoom</div>
|
|
78
|
+
<div class="palette-item" draggable="true" data-type="Axis_limits">Axis limits</div>
|
|
79
|
+
<div class="palette-item" draggable="true" data-type="Axis_move">Axis move</div>
|
|
80
|
+
<div class="palette-item" draggable="true" data-type="Axis_alpha">Axis alpha</div>
|
|
81
|
+
<div class="palette-item" draggable="true" data-type="Fig_width_ratio">Figure width ratio</div>
|
|
82
|
+
<div class="palette-item" draggable="true" data-type="Fig_height_ratio">Figure height ratio</div>
|
|
83
|
+
</aside>
|
|
84
|
+
</section>
|
|
85
|
+
</main>
|
|
86
|
+
|
|
87
|
+
<div id="clipDialogBackdrop" class="dialog-backdrop hidden">
|
|
88
|
+
<div class="dialog">
|
|
89
|
+
<h3>Clip Properties</h3>
|
|
90
|
+
<div class="dialog-grid">
|
|
91
|
+
<label id="dlgPersistentWrap">Persistent <input id="dlgPersistent" type="checkbox" /></label>
|
|
92
|
+
<label id="dlgEasingWrap">Easing <select id="dlgEasing"></select></label>
|
|
93
|
+
<label id="dlgDelayWrap">Delay <input id="dlgDelay" type="number" step="1" /></label>
|
|
94
|
+
<label id="dlgDurationWrap">Duration <input id="dlgDuration" type="number" step="1" min="1" /></label>
|
|
95
|
+
<label id="dlgObjectWrap">Object <select id="dlgObject"></select></label>
|
|
96
|
+
<label id="dlgStartXWrap" class="prop-field">Start X <input id="dlgStartX" type="number" step="any" /></label>
|
|
97
|
+
<label id="dlgStartYWrap" class="prop-field">Start Y <input id="dlgStartY" type="number" step="any" /></label>
|
|
98
|
+
<label id="dlgEndXWrap" class="prop-field">End X <input id="dlgEndX" type="number" step="any" /></label>
|
|
99
|
+
<label id="dlgEndYWrap" class="prop-field">End Y <input id="dlgEndY" type="number" step="any" /></label>
|
|
100
|
+
<label id="dlgStartWrap" class="prop-field">Start <input id="dlgStart" type="number" step="any" /></label>
|
|
101
|
+
<label id="dlgEndWrap" class="prop-field">End <input id="dlgEnd" type="number" step="any" /></label>
|
|
102
|
+
<label id="dlgTweenPropsWrap" class="prop-field">Property names <input id="dlgTweenProps" type="text" /></label>
|
|
103
|
+
<label id="dlgTweenStartsWrap" class="prop-field">Start values <input id="dlgTweenStarts" type="text" /></label>
|
|
104
|
+
<label id="dlgTweenEndsWrap" class="prop-field">End values <input id="dlgTweenEnds" type="text" /></label>
|
|
105
|
+
<label id="dlgZoomWrap" class="prop-field">Zoom <input id="dlgZoom" type="number" step="any" /></label>
|
|
106
|
+
<label id="dlgXlimLeftWrap" class="prop-field">X limit left <input id="dlgXlimLeft" type="number" step="any" /></label>
|
|
107
|
+
<label id="dlgXlimRightWrap" class="prop-field">X limit right <input id="dlgXlimRight" type="number" step="any" /></label>
|
|
108
|
+
<label id="dlgYlimBottomWrap" class="prop-field">Y limit bottom <input id="dlgYlimBottom" type="number" step="any" /></label>
|
|
109
|
+
<label id="dlgYlimTopWrap" class="prop-field">Y limit top <input id="dlgYlimTop" type="number" step="any" /></label>
|
|
110
|
+
<label id="dlgRatioStartWrap" class="prop-field">Start ratios <input id="dlgRatioStart" type="text" /></label>
|
|
111
|
+
<label id="dlgRatioEndWrap" class="prop-field">End ratios <input id="dlgRatioEnd" type="text" /></label>
|
|
112
|
+
<label id="dlgReverseWrap" class="prop-field">Reverse <input id="dlgReverse" type="checkbox" /></label>
|
|
113
|
+
</div>
|
|
114
|
+
<div class="dialog-actions">
|
|
115
|
+
<button id="dlgCancel">Cancel</button>
|
|
116
|
+
<button id="dlgSave">Save</button>
|
|
117
|
+
</div>
|
|
118
|
+
</div>
|
|
119
|
+
</div>
|
|
120
|
+
|
|
121
|
+
<script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script>
|
|
122
|
+
<script src="app.js"></script>
|
|
123
|
+
</body>
|
|
124
|
+
</html>
|