Skip to main content

Pymemri

Pymemri is a python library for creating Plugins for the Memri Personal online datastore (pod). Pymemri has a PodClient to communicate with the pod, and tools to build and test plugins.

Gitlab pipeline status (self-hosted) Discord Twitter URL

Plugins connect and add the information to your Pod. Plugins that import your data from external services are called Importers (Gmail, WhatsApp, etc.). Plugins that connect new data to the existing data are called indexers (face recognition, spam detection, object detection, etc.). Lastly there are plugins that execute actions (sending messages, uploading files).

Installing

As a package

pip install pymemri

Development

To install the Python package for development, run:

pip install -e .

Contributing

If you would like to contribute to Pymemri, have a look at our contibuting guidelines to get started and join our Discord if you have any questions about using or contributing to the library.

Quickstart: Pod Client

All interaction between plugins and the pod goes via the Pymemri PodClient. To use this client in development, we first need to have a pod running locally. The quickest way to do this is to install from the pod repo, and run ./examples/run_development.sh.

If you have a running pod, you can define and add your own item definitions:

from pymemri.data.schema import Item
from pymemri.pod.client import PodClient

class Dog(Item):
    name: Optional[str] = None
    age: Optional[int] = None

# Connect to the pod and add the Dog item definition
client = PodClient()
client.add_to_schema(Dog)

# Add a Dog to the pod
dog = Dog(name="Rita", age=3)
client.create(dog)

Quickstart: Running a plugin

After installation, users can use the plugin CLI to manually run a plugin. For more information on how to build a plugin, see run_plugin.

With the pod running, run in your terminal:

store_keys
run_plugin --metadata "example_plugin.json"

This stores a random owner key and database key on your disk for future use, and runs the pymemri example plugin. If everything works correctly, the output should read Plugin run success.

Docs

pymemri docs

Metadata

Release files for pymemri 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pymemri 0.1.2
File Size Uploaded
pymemri-0.1.2.tar.gz 66.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pymemri 0.1.2
File Interpreter ABI Platform
pymemri-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 142.4 kB

Release files / pymemri-0.1.2.tar.gz

Download URL pymemri-0.1.2.tar.gz
Size 66.0 kB
Tags Source
SHA-256 checksum
How to use checksums
68310303d98feae6602cebcf56ac328a035b3d571a8ccea4fa735f2f57e4845f
BLAKE2b-256 checksum
How to use checksums
aea7aba434acd4ddd00ece0f5dd3744e7abc243846c3ef137b73a4d9e2ea869d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.12

Release files / pymemri-0.1.2-py3-none-any.whl

Download URL pymemri-0.1.2-py3-none-any.whl
Size 76.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a2ccfb9bba6aa47076cea892fc697a0910afea8496ecdfb25a47dff7dfcbd976
BLAKE2b-256 checksum
How to use checksums
c86ffaff7a32bf40e05e4b49b2083fedf01e5b6b9ba1d133194b99df2269262a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.12

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.0.54

2 release files

0.0.52

2 release files

0.0.51

2 release files

0.0.50

2 release files

0.0.48

2 release files

0.0.43

2 release files

0.0.42

2 release files

0.0.41

2 release files

0.0.40

2 release files

0.0.38

2 release files

0.0.37

2 release files

0.0.36

2 release files

0.0.35

2 release files

0.0.34

2 release files

0.0.32

2 release files

0.0.31

2 release files

0.0.29

2 release files

0.0.27

2 release files

0.0.26

2 release files

0.0.17

2 release files

0.0.15

2 release files

0.0.14

2 release files

0.0.13

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page