MetaList 0.1.6__tar.gz → 0.1.8__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.
Potentially problematic release.
This version of MetaList might be problematic. Click here for more details.
- MetaList-0.1.8/MetaList.egg-info/PKG-INFO +111 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/MetaList.egg-info/SOURCES.txt +4 -3
- {MetaList-0.1.6 → MetaList-0.1.8}/MetaList.egg-info/requires.txt +1 -0
- MetaList-0.1.8/PKG-INFO +111 -0
- MetaList-0.1.8/README.md +92 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/app.py +109 -30
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/config.py +3 -1
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/css/components/chat-ui.css +25 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/css/components/items-list.css +5 -4
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/js/app-state.js +3 -1
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/js/components/chat-ui.js +77 -100
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/js/components/items-list.js +40 -3
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/js/components/search-bar.js +1 -1
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/js/components/suggestions-list.js +1 -1
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/js/misc/item-formatter.js +5 -6
- MetaList-0.1.6/metalist/static/js/misc/formats.js → MetaList-0.1.8/metalist/static/js/misc/parsing.js +113 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/js/misc/server-proxy.js +7 -0
- MetaList-0.1.8/metalist/utils/chat_prompts.py +220 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/utils/crud.py +2 -2
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/utils/decorate_single_item.py +8 -6
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/utils/find.py +3 -3
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/utils/initialize.py +7 -3
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/utils/ontology.py +4 -4
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/utils/search_filters.py +5 -9
- MetaList-0.1.8/metalist/utils/search_index.py +62 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/utils/search_suggestions.py +15 -6
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/utils/server.py +51 -26
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/utils/snapshots.py +12 -12
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/utils/tags_suggestions.py +24 -10
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/utils/update_multiple_items.py +15 -20
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/utils/update_single_item.py +2 -2
- {MetaList-0.1.6 → MetaList-0.1.8}/setup.py +2 -2
- {MetaList-0.1.6 → MetaList-0.1.8}/tests/test_utils.py +2 -2
- MetaList-0.1.6/MetaList.egg-info/PKG-INFO +0 -59
- MetaList-0.1.6/PKG-INFO +0 -59
- MetaList-0.1.6/README.md +0 -41
- MetaList-0.1.6/metalist/static/js/misc/LLMs.js +0 -252
- {MetaList-0.1.6 → MetaList-0.1.8}/LICENSE +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/MetaList.egg-info/dependency_links.txt +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/MetaList.egg-info/entry_points.txt +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/MetaList.egg-info/top_level.txt +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/__init__.py +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/css/app.css +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/css/components/search-bar.css +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/css/components/suggestions-list.css +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/css/components/tags-bar.css +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/css/dark-theme.css +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/css/reserved-tags.css +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/css/unreset.css +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/html/index.html +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/img/caret-down-filled.svg +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/img/caret-right-filled.svg +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/img/chat-left-svgrepo-com.svg +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/img/checkbox-checked.svg +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/img/checkbox-unchecked.svg +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/img/favicon.ico +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/img/search.svg +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/img/tag.svg +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/js/components/tags-bar.js +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/js/config.js +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/js/misc/logging.js +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/js/misc/scrolling.js +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/js/misc/vdom.js +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/js/pub-sub-events.js +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/libs/PubSubJS/LICENSE.md +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/libs/PubSubJS/pubsub.js +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/libs/katex/LICENSE +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/libs/katex/contrib/auto-render.min.js +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/libs/katex/contrib/copy-tex.min.css +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/libs/katex/contrib/copy-tex.min.js +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/libs/katex/contrib/mathtex-script-type.min.js +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/libs/katex/katex.min.css +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/libs/katex/katex.min.js +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/libs/lodash/LICENSE +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/libs/lodash/lodash.js +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/libs/markdown-it/LICENSE +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/libs/markdown-it/markdown-it.min.js +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/libs/micronitjs/LICENSE +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/libs/micronitjs/micronit.js +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/libs/the-new-css-reset/LICENSE +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/libs/the-new-css-reset/reset.css +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/libs/voca/LICENSE.md +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/libs/voca/voca.min.js +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/tests/unit-tests/run-tests.html +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/static/tests/unit-tests/test-search-bar.js +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/utils/__init__.py +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/utils/generate.py +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/utils/misc/__init__.py +0 -0
- /MetaList-0.1.6/metalist/utils/misc/crypto.py → /MetaList-0.1.8/metalist/utils/misc/crypto-test.py +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/metalist/utils/reporting.py +0 -0
- {MetaList-0.1.6 → MetaList-0.1.8}/setup.cfg +0 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: MetaList
|
|
3
|
+
Version: 0.1.8
|
|
4
|
+
Summary: A PKM web app integrated with LLMs
|
|
5
|
+
Home-page: https://github.com/evolvingstuff/MetaList
|
|
6
|
+
Author: Thomas Lahore
|
|
7
|
+
Author-email: tom.lahore@gmail.com
|
|
8
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
9
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
10
|
+
Classifier: Operating System :: OS Independent
|
|
11
|
+
Requires-Python: >=3.8
|
|
12
|
+
Description-Content-Type: text/markdown
|
|
13
|
+
License-File: LICENSE
|
|
14
|
+
Requires-Dist: bottle==0.12.25
|
|
15
|
+
Requires-Dist: bottle-sqlite==0.2.0
|
|
16
|
+
Requires-Dist: beautifulsoup4~=4.12.2
|
|
17
|
+
Requires-Dist: requests==2.31.0
|
|
18
|
+
Requires-Dist: tqdm==4.66.1
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
# MetaList
|
|
22
|
+
|
|
23
|
+
<img src="docs/img/MetaList-Logo.png" width="130" />
|
|
24
|
+
|
|
25
|
+
[](https://pypi.org/project/metalist/)
|
|
26
|
+

|
|
27
|
+

|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## What is MetaList?
|
|
31
|
+
MetaList is a personal knowledge management web application,
|
|
32
|
+
tightly integrated with large language models.
|
|
33
|
+
|
|
34
|
+
> ⚠️ **MetaList is currently in Development**: Expect breaking changes and bugs
|
|
35
|
+
|
|
36
|
+
## Features
|
|
37
|
+
|
|
38
|
+
- [x] Chat feature: LLM integration (currently only [OpenAI API](https://openai.com/blog/openai-api))
|
|
39
|
+
- [x] [Chart.js](https://www.chartjs.org/) integration for LLM-generated visualizations
|
|
40
|
+
- [x] Hierarchical, collapsable note structure
|
|
41
|
+
- [x] Reordering notes in one context survives to other search contexts; notes maintain a [total order](https://en.wikipedia.org/wiki/Total_order)
|
|
42
|
+
- [x] Quick, responsive searching (tags, full-text, or combo of both)
|
|
43
|
+
- [x] Search suggestions
|
|
44
|
+
- [x] Tagging
|
|
45
|
+
- [x] Tag suggestions (uses a [Jaccard index](https://en.wikipedia.org/wiki/Jaccard_index))
|
|
46
|
+
- [x] Tags can imply other tags
|
|
47
|
+
- [x] Tag implication rules are also notes; they can themselves be tagged and searched
|
|
48
|
+
- [x] Nested subitems in notes inherit tags from their parents
|
|
49
|
+
- [x] [Markdown](https://markdown-it.github.io/)/[LaTeX](https://katex.org/) support
|
|
50
|
+
- [x] Infinite undo/redo
|
|
51
|
+
- [x] Infinite scrolling
|
|
52
|
+
|
|
53
|
+
### Chat Feature Example
|
|
54
|
+
|
|
55
|
+
Search filters notes down to a relevant subset (a "search context"), which has the nice
|
|
56
|
+
effect of acting as a form of human-guided [retrieval augmented generation](https://www.promptingguide.ai/techniques/rag).
|
|
57
|
+
The chat feature is fully integrated with the underlying notes. Mousing over a reference in the chat will highlight
|
|
58
|
+
the referenced note, if it is within view, and clicking on the reference will navigate to and select the note,
|
|
59
|
+
even opening up collapsed items in the note hierarchy so that all the relevant info becomes visible.
|
|
60
|
+
|
|
61
|
+
Some examples of interactions with the chat feature (in this case, recommending new movies):
|
|
62
|
+
|
|
63
|
+
<img src="docs/img/demo-1.gif" width="800"/>
|
|
64
|
+
<img src="docs/img/chat-example-2.png" width="800"/>
|
|
65
|
+
<!--<img src="docs/img/chat-example-3.png" width="800"/>-->
|
|
66
|
+
|
|
67
|
+
## Installation
|
|
68
|
+
|
|
69
|
+
It is recommended that you create a Python virtual environment before installing MetaList.
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
python3 -m venv venv
|
|
73
|
+
source venv/bin/activate
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Then, install MetaList using pip:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
pip install metalist
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Usage
|
|
83
|
+
|
|
84
|
+
From the installation directory, run:
|
|
85
|
+
```
|
|
86
|
+
metalist
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Navigate to `http://127.0.0.0:8080/`
|
|
90
|
+
|
|
91
|
+
Read the [cheatsheet](docs/cheatsheet.md).
|
|
92
|
+
|
|
93
|
+
## Roadmap
|
|
94
|
+
|
|
95
|
+
- [ ] Chat integration with other models
|
|
96
|
+
- [ ] Menus / Settings
|
|
97
|
+
- [ ] Reminders
|
|
98
|
+
- [ ] Passwords / encryption at rest
|
|
99
|
+
- [ ] Import data from browser bookmarks
|
|
100
|
+
- [ ] Import data from other PKM apps
|
|
101
|
+
- [ ] Export notes to JSON, Markdown, HTML, PDF
|
|
102
|
+
- [ ] File handling
|
|
103
|
+
- [ ] Access to local file system
|
|
104
|
+
- [ ] Multi-user
|
|
105
|
+
- [ ] Mobile friendly
|
|
106
|
+
- [ ] More unit/integration testing
|
|
107
|
+
|
|
108
|
+
## License
|
|
109
|
+
|
|
110
|
+
MetaList is licensed under the MIT license. See [LICENSE](LICENSE) for more information.
|
|
111
|
+
|
|
@@ -36,10 +36,9 @@ metalist/static/js/components/items-list.js
|
|
|
36
36
|
metalist/static/js/components/search-bar.js
|
|
37
37
|
metalist/static/js/components/suggestions-list.js
|
|
38
38
|
metalist/static/js/components/tags-bar.js
|
|
39
|
-
metalist/static/js/misc/LLMs.js
|
|
40
|
-
metalist/static/js/misc/formats.js
|
|
41
39
|
metalist/static/js/misc/item-formatter.js
|
|
42
40
|
metalist/static/js/misc/logging.js
|
|
41
|
+
metalist/static/js/misc/parsing.js
|
|
43
42
|
metalist/static/js/misc/scrolling.js
|
|
44
43
|
metalist/static/js/misc/server-proxy.js
|
|
45
44
|
metalist/static/js/misc/vdom.js
|
|
@@ -65,6 +64,7 @@ metalist/static/libs/voca/voca.min.js
|
|
|
65
64
|
metalist/static/tests/unit-tests/run-tests.html
|
|
66
65
|
metalist/static/tests/unit-tests/test-search-bar.js
|
|
67
66
|
metalist/utils/__init__.py
|
|
67
|
+
metalist/utils/chat_prompts.py
|
|
68
68
|
metalist/utils/crud.py
|
|
69
69
|
metalist/utils/decorate_single_item.py
|
|
70
70
|
metalist/utils/find.py
|
|
@@ -73,6 +73,7 @@ metalist/utils/initialize.py
|
|
|
73
73
|
metalist/utils/ontology.py
|
|
74
74
|
metalist/utils/reporting.py
|
|
75
75
|
metalist/utils/search_filters.py
|
|
76
|
+
metalist/utils/search_index.py
|
|
76
77
|
metalist/utils/search_suggestions.py
|
|
77
78
|
metalist/utils/server.py
|
|
78
79
|
metalist/utils/snapshots.py
|
|
@@ -80,5 +81,5 @@ metalist/utils/tags_suggestions.py
|
|
|
80
81
|
metalist/utils/update_multiple_items.py
|
|
81
82
|
metalist/utils/update_single_item.py
|
|
82
83
|
metalist/utils/misc/__init__.py
|
|
83
|
-
metalist/utils/misc/crypto.py
|
|
84
|
+
metalist/utils/misc/crypto-test.py
|
|
84
85
|
tests/test_utils.py
|
MetaList-0.1.8/PKG-INFO
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: MetaList
|
|
3
|
+
Version: 0.1.8
|
|
4
|
+
Summary: A PKM web app integrated with LLMs
|
|
5
|
+
Home-page: https://github.com/evolvingstuff/MetaList
|
|
6
|
+
Author: Thomas Lahore
|
|
7
|
+
Author-email: tom.lahore@gmail.com
|
|
8
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
9
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
10
|
+
Classifier: Operating System :: OS Independent
|
|
11
|
+
Requires-Python: >=3.8
|
|
12
|
+
Description-Content-Type: text/markdown
|
|
13
|
+
License-File: LICENSE
|
|
14
|
+
Requires-Dist: bottle==0.12.25
|
|
15
|
+
Requires-Dist: bottle-sqlite==0.2.0
|
|
16
|
+
Requires-Dist: beautifulsoup4~=4.12.2
|
|
17
|
+
Requires-Dist: requests==2.31.0
|
|
18
|
+
Requires-Dist: tqdm==4.66.1
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
# MetaList
|
|
22
|
+
|
|
23
|
+
<img src="docs/img/MetaList-Logo.png" width="130" />
|
|
24
|
+
|
|
25
|
+
[](https://pypi.org/project/metalist/)
|
|
26
|
+

|
|
27
|
+

|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## What is MetaList?
|
|
31
|
+
MetaList is a personal knowledge management web application,
|
|
32
|
+
tightly integrated with large language models.
|
|
33
|
+
|
|
34
|
+
> ⚠️ **MetaList is currently in Development**: Expect breaking changes and bugs
|
|
35
|
+
|
|
36
|
+
## Features
|
|
37
|
+
|
|
38
|
+
- [x] Chat feature: LLM integration (currently only [OpenAI API](https://openai.com/blog/openai-api))
|
|
39
|
+
- [x] [Chart.js](https://www.chartjs.org/) integration for LLM-generated visualizations
|
|
40
|
+
- [x] Hierarchical, collapsable note structure
|
|
41
|
+
- [x] Reordering notes in one context survives to other search contexts; notes maintain a [total order](https://en.wikipedia.org/wiki/Total_order)
|
|
42
|
+
- [x] Quick, responsive searching (tags, full-text, or combo of both)
|
|
43
|
+
- [x] Search suggestions
|
|
44
|
+
- [x] Tagging
|
|
45
|
+
- [x] Tag suggestions (uses a [Jaccard index](https://en.wikipedia.org/wiki/Jaccard_index))
|
|
46
|
+
- [x] Tags can imply other tags
|
|
47
|
+
- [x] Tag implication rules are also notes; they can themselves be tagged and searched
|
|
48
|
+
- [x] Nested subitems in notes inherit tags from their parents
|
|
49
|
+
- [x] [Markdown](https://markdown-it.github.io/)/[LaTeX](https://katex.org/) support
|
|
50
|
+
- [x] Infinite undo/redo
|
|
51
|
+
- [x] Infinite scrolling
|
|
52
|
+
|
|
53
|
+
### Chat Feature Example
|
|
54
|
+
|
|
55
|
+
Search filters notes down to a relevant subset (a "search context"), which has the nice
|
|
56
|
+
effect of acting as a form of human-guided [retrieval augmented generation](https://www.promptingguide.ai/techniques/rag).
|
|
57
|
+
The chat feature is fully integrated with the underlying notes. Mousing over a reference in the chat will highlight
|
|
58
|
+
the referenced note, if it is within view, and clicking on the reference will navigate to and select the note,
|
|
59
|
+
even opening up collapsed items in the note hierarchy so that all the relevant info becomes visible.
|
|
60
|
+
|
|
61
|
+
Some examples of interactions with the chat feature (in this case, recommending new movies):
|
|
62
|
+
|
|
63
|
+
<img src="docs/img/demo-1.gif" width="800"/>
|
|
64
|
+
<img src="docs/img/chat-example-2.png" width="800"/>
|
|
65
|
+
<!--<img src="docs/img/chat-example-3.png" width="800"/>-->
|
|
66
|
+
|
|
67
|
+
## Installation
|
|
68
|
+
|
|
69
|
+
It is recommended that you create a Python virtual environment before installing MetaList.
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
python3 -m venv venv
|
|
73
|
+
source venv/bin/activate
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Then, install MetaList using pip:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
pip install metalist
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Usage
|
|
83
|
+
|
|
84
|
+
From the installation directory, run:
|
|
85
|
+
```
|
|
86
|
+
metalist
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Navigate to `http://127.0.0.0:8080/`
|
|
90
|
+
|
|
91
|
+
Read the [cheatsheet](docs/cheatsheet.md).
|
|
92
|
+
|
|
93
|
+
## Roadmap
|
|
94
|
+
|
|
95
|
+
- [ ] Chat integration with other models
|
|
96
|
+
- [ ] Menus / Settings
|
|
97
|
+
- [ ] Reminders
|
|
98
|
+
- [ ] Passwords / encryption at rest
|
|
99
|
+
- [ ] Import data from browser bookmarks
|
|
100
|
+
- [ ] Import data from other PKM apps
|
|
101
|
+
- [ ] Export notes to JSON, Markdown, HTML, PDF
|
|
102
|
+
- [ ] File handling
|
|
103
|
+
- [ ] Access to local file system
|
|
104
|
+
- [ ] Multi-user
|
|
105
|
+
- [ ] Mobile friendly
|
|
106
|
+
- [ ] More unit/integration testing
|
|
107
|
+
|
|
108
|
+
## License
|
|
109
|
+
|
|
110
|
+
MetaList is licensed under the MIT license. See [LICENSE](LICENSE) for more information.
|
|
111
|
+
|
MetaList-0.1.8/README.md
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
|
|
2
|
+
# MetaList
|
|
3
|
+
|
|
4
|
+
<img src="docs/img/MetaList-Logo.png" width="130" />
|
|
5
|
+
|
|
6
|
+
[](https://pypi.org/project/metalist/)
|
|
7
|
+

|
|
8
|
+

|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## What is MetaList?
|
|
12
|
+
MetaList is a personal knowledge management web application,
|
|
13
|
+
tightly integrated with large language models.
|
|
14
|
+
|
|
15
|
+
> ⚠️ **MetaList is currently in Development**: Expect breaking changes and bugs
|
|
16
|
+
|
|
17
|
+
## Features
|
|
18
|
+
|
|
19
|
+
- [x] Chat feature: LLM integration (currently only [OpenAI API](https://openai.com/blog/openai-api))
|
|
20
|
+
- [x] [Chart.js](https://www.chartjs.org/) integration for LLM-generated visualizations
|
|
21
|
+
- [x] Hierarchical, collapsable note structure
|
|
22
|
+
- [x] Reordering notes in one context survives to other search contexts; notes maintain a [total order](https://en.wikipedia.org/wiki/Total_order)
|
|
23
|
+
- [x] Quick, responsive searching (tags, full-text, or combo of both)
|
|
24
|
+
- [x] Search suggestions
|
|
25
|
+
- [x] Tagging
|
|
26
|
+
- [x] Tag suggestions (uses a [Jaccard index](https://en.wikipedia.org/wiki/Jaccard_index))
|
|
27
|
+
- [x] Tags can imply other tags
|
|
28
|
+
- [x] Tag implication rules are also notes; they can themselves be tagged and searched
|
|
29
|
+
- [x] Nested subitems in notes inherit tags from their parents
|
|
30
|
+
- [x] [Markdown](https://markdown-it.github.io/)/[LaTeX](https://katex.org/) support
|
|
31
|
+
- [x] Infinite undo/redo
|
|
32
|
+
- [x] Infinite scrolling
|
|
33
|
+
|
|
34
|
+
### Chat Feature Example
|
|
35
|
+
|
|
36
|
+
Search filters notes down to a relevant subset (a "search context"), which has the nice
|
|
37
|
+
effect of acting as a form of human-guided [retrieval augmented generation](https://www.promptingguide.ai/techniques/rag).
|
|
38
|
+
The chat feature is fully integrated with the underlying notes. Mousing over a reference in the chat will highlight
|
|
39
|
+
the referenced note, if it is within view, and clicking on the reference will navigate to and select the note,
|
|
40
|
+
even opening up collapsed items in the note hierarchy so that all the relevant info becomes visible.
|
|
41
|
+
|
|
42
|
+
Some examples of interactions with the chat feature (in this case, recommending new movies):
|
|
43
|
+
|
|
44
|
+
<img src="docs/img/demo-1.gif" width="800"/>
|
|
45
|
+
<img src="docs/img/chat-example-2.png" width="800"/>
|
|
46
|
+
<!--<img src="docs/img/chat-example-3.png" width="800"/>-->
|
|
47
|
+
|
|
48
|
+
## Installation
|
|
49
|
+
|
|
50
|
+
It is recommended that you create a Python virtual environment before installing MetaList.
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
python3 -m venv venv
|
|
54
|
+
source venv/bin/activate
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Then, install MetaList using pip:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
pip install metalist
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Usage
|
|
64
|
+
|
|
65
|
+
From the installation directory, run:
|
|
66
|
+
```
|
|
67
|
+
metalist
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Navigate to `http://127.0.0.0:8080/`
|
|
71
|
+
|
|
72
|
+
Read the [cheatsheet](docs/cheatsheet.md).
|
|
73
|
+
|
|
74
|
+
## Roadmap
|
|
75
|
+
|
|
76
|
+
- [ ] Chat integration with other models
|
|
77
|
+
- [ ] Menus / Settings
|
|
78
|
+
- [ ] Reminders
|
|
79
|
+
- [ ] Passwords / encryption at rest
|
|
80
|
+
- [ ] Import data from browser bookmarks
|
|
81
|
+
- [ ] Import data from other PKM apps
|
|
82
|
+
- [ ] Export notes to JSON, Markdown, HTML, PDF
|
|
83
|
+
- [ ] File handling
|
|
84
|
+
- [ ] Access to local file system
|
|
85
|
+
- [ ] Multi-user
|
|
86
|
+
- [ ] Mobile friendly
|
|
87
|
+
- [ ] More unit/integration testing
|
|
88
|
+
|
|
89
|
+
## License
|
|
90
|
+
|
|
91
|
+
MetaList is licensed under the MIT license. See [LICENSE](LICENSE) for more information.
|
|
92
|
+
|