estasney / MindRef

Kivy based application for displaying and managing Markdown notes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MindRef

MindRef is a cross-platform Note Management application leveraging the Kivy Framework.

MindRef renders Markdown notes with a special emphasis on technical notes, such as code snippets or keyboard shortcuts

Development

ImportError With Pycharm Debugger

Building for Android

p4a Fork

I've forked python-for-android at forked p4a to provide Python 3.10 support

Now using kivy/python-for-android which is Python 3.10 compatible However, it still requires a single patch to build.tmpl.gradle to include

flatDir {
    dirs 'libs'
}

The patch is located at flatDirs.patch

MindRefUtils

With the introduction of SDK 33 on Android, it is no longer possible to simply request EXTERNAL_STORAGE permission and treat files natively.

A user selects a directory to share with Mindref. This provides a Content URI that is only usable via the DocumentProvider.

This requires some additional Java 'glue' code to sync External Storage with App Storage.

MindRefUtils can be found at MindRefUtils

Benchmarks

normalize_coordinates

100,000 iterations, 10 repeats

- Python 3.10.9
    - 0.0281 seconds
- Cython
    - 0.0048 seconds

Cython is 5.8x faster than Python

rolling_index

1,000,000 iterations, 10 repeats

- Python 3.10.9
    - 0.2755 seconds
- Cython
    - 0.1278 seconds
  • Cython is 2.15x faster than Python*

compute_ref_coordinates

100,000 iterations, 10 repeats

- Python 3.10.9
    - 0.0200 seconds
- Cython
    - 0.0116 seconds
  • Cython is 1.72x faster than Python*

color_str_components

100,000 iterations, 10 repeats

- Python 3.10.9
    - 0.0234 seconds
- Cython
    - 0.0075 seconds
  • Cython is 3.12x faster than Python*

About

Kivy based application for displaying and managing Markdown notes

License:GNU Affero General Public License v3.0


Languages

Language:Python 87.3%Language:kvlang 8.9%Language:Cython 2.6%Language:Makefile 0.9%Language:Shell 0.3%