• Stars
    star
    123
  • Rank 290,145 (Top 6 %)
  • Language
    Rust
  • License
    MIT License
  • Created almost 2 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Python bindings for Milli, the embeddable Rust-based search engine powering Meilisearch

milli-py

ci-badge

Python bindings for Milli, the embeddable Rust-based search engine powering Meilisearch.

Due to limitations around Rust lifecycles, methods available via IndexDocuments and Search have been integrated directly into the Index class. This sacrifices/simplifies functionality available in the original milli package.

Install the package via:

pip install milli

Usage

Basic usage of the milli-py:

import milli

index = milli.Index("path/to/index")
index.add_documents([   
    { "id": 0, "title": "Hello world", "content": "This is a sample" },
    { "id": 1, "title": "Hello moon", "content": "This is another sample" },
    { "id": 2, "title": "Hello sun", "content": "This is yet another sample" },
])
results = index.search("wrold")
document = index.get_document(results[0])
assert(document['title'] == "Hello world")

Documentation

Full documentation for milli-py is available at docs/index.md.

View it online at https://github.com/AlexAltea/milli-py/blob/master/docs/index.md.

Examples

Real-world examples of milli-py in action:

  • Curator: Searching 140k movies (~10 MB csv, ~140 MB index) in around 36ms to obtain metadata from OMDB and auto-rename/tag movie collections.

Do you have other interesting examples? Let me know!

More Repositories

1

orbital

Experimental PlayStation 4 emulator.
C
3,589
star
2

unicorn.js

Unicorn CPU emulator framework port for JavaScript
JavaScript
571
star
3

nucleus

High-performance retargetable emulator
C++
232
star
4

capstone.js

Capstone disassembler framework for JavaScript
JavaScript
169
star
5

keystone.js

Keystone assembler framework for JavaScript
HTML
75
star
6

curator

Automated normalization and curating of media collections
Python
53
star
7

codeql-python

Python bindings for CodeQL CLI
Python
48
star
8

blog

Articles and resources of my blog
HTML
45
star
9

psarc-tool

Port of Matthieu Milan's open PSARC PS3 extractor to Windows
C
40
star
10

cetrainer-unpacker

Extract and decrypt CheatEngine trainers from executables
Python
39
star
11

glslang.js

Real-time GLSL to SPIR-V, powered by Glslang
HTML
27
star
12

libelf.js

LibELF port for JavaScript
C
26
star
13

lv1-reversing

CellOS LV-1 Reverse Engineering
C++
23
star
14

hasher

Automatic detection of hashing algorithms
JavaScript
21
star
15

ntypes

Emulate native integer and floating-point types in Python
Python
20
star
16

nerve

Front-end for debuggers and disassemblers
TypeScript
17
star
17

ps3autotests

Automated PS3 integration tests for emulators
C++
16
star
18

invoice

Template to generate HTML/PDF invoices
JavaScript
14
star
19

pfs-fuse

FUSE driver for the PlayStation File System
13
star
20

ida

Collection of IDA Python plugins/scripts/modules
Python
11
star
21

gitlab-rouge

Static syntax highlighting for custom languages in GitLab CE/EE installations via Rouge hot-patching.
Ruby
4
star
22

dell-spacebar-fix

Software solution for double-space issues in Dell XPS 13/15 laptops
C++
3
star
23

orbital-slides

Orbital slides
JavaScript
3
star
24

nihongo

Random utilities to learn japanese
JavaScript
3
star
25

gitlab-monaco

Dynamic syntax highlighting for custom languages in GitLab CE/EE installations via Monaco hot-patching.
JavaScript
3
star
26

jitter

Random C++ utilities based on JIT-compilation
C++
2
star
27

website

Personal website
JavaScript
1
star
28

nv520-screen-fix

Software solution for random black screens with Nvidia GT520 after Windows 10 boot/wakeup
C++
1
star
29

ddns

Monitor public IPs on routers and update DNS records
Python
1
star
30

vm-tests

Hypervisor testing via QEMU
1
star
31

fakebot-admin

Admin dashboard for the Fakebot botnet monitoring tool
JavaScript
1
star