MYCSS

Показ дописів із міткою Django. Показати всі дописи
Показ дописів із міткою Django. Показати всі дописи

2026-03-29

Comparing Performance After Optimization in django-mariadb-vector

Since version v0.2.0, the 'django-mariadb-vector' library includes several optimization options. Here are the results from performance tests.
Performance results

Note: Performance was measured using 20,000 iterations (3 runs) in `tests/measure_performance.py`, with randomly generated vectors of dimension 3072.

Benefits 'orlson' vs 'json'

  • Up to ~20× faster compared to the standard `json` library on generate vector data
  • Up to ~8× faster compared to the standard `json` library on response vector data

Benefits of 'binary' on response vector data

  • Up to ~16× faster compared to the standard `json` library
  • About ~2× faster compared to `orjson`

Testing output

Warming for 3 seconds

decode_binary start testing...
binary: 1.8913245666384075 [1.9641265999525785, 1.8629208999918774, 1.846926199970767]

decode_orjson_str start testing...
json_str: 3.804304266697727 [4.095871299970895, 3.7040354000637308, 3.6130061000585556]

decode_json_str start testing...
json_str: 30.897333099972457 [30.78853879997041, 31.119306599954143, 30.784153899992816]
* decode binary is fastest than json in 16.34 times
* decode binary is fastest than orjson in 2.01 times
* decode orjson is fastest than json in 8.12 times

encode_orjson_str start testing...
orjson_str: 2.32788303331472 [2.455615399987437, 2.2925777999917045, 2.235455899965018]

encode_json_str start testing...
json_str: 51.04346506666237 [50.961705199908465, 50.88195970002562, 51.28673030005302]
* encode orjson is fastest than json in 21.93 times

Reference

2026-03-28

DEMO Django application of usage library 'django-mariadb-vector' (MariaDB Vector)

pip install django-mariadb-vector

📒 Django MariaDB Vector DEMO application 

A minimal demo project showing how to build article recommendations using vector similarity in Django with MariaDB as the database.

The app stores articles, embeds their content into vectors, and then finds similar articles based on vector distance.

🔗 Repo: https://github.com/lexxai/django-mariadb-vector-demo
🔗 Examples: https://github.com/lexxai/django-mariadb-vector-demo/tree/main/docs
🔗 Repo library: https://github.com/lexxai/django-mariadb-vector


Features

  • Django application using MariaDB as the primary database
  • Article model with text content
  • Vector-based similarity search for recommendations
  • Simple UI:
  • List of all articles
    • "Similar articles" view for a selected article
    • Admin interface to add and manage articles

Django MariaDB Vector package on pypi - 'django-mariadb-vector'

pip install django-mariadb-vector

📒 Django MariaDB Vector

The Vector field, introduced in MariaDB 11.7, now has a simple library called 'django-mariadb-vector' that adds Django ORM support for it.

Created by me and shared for everyone to use.

🔸 pip install django-mariadb-vector

🔗 Repo: https://github.com/lexxai/django-mariadb-vector
🔗 Demo: https://github.com/lexxai/django-mariadb-vector-demo
🔗 Examples: https://github.com/lexxai/django-mariadb-vector-demo/tree/main/docs

MariaDB introduced native vector support, allowing you to store embeddings and perform similarity search directly in the database.

However, Django currently lacks:
  • a native VECTOR model field
  • ORM support for vector queries
  • automatic migration
  • support for vector indexes

2024-10-29

 Нотатка. Python, Django, get_file та кеш браузера.

🚰 Якщо потрібно віддавати певні файли засобами Django view, а не як статичний файл через NGINX. То не забуваємо додавати заголовки про інформацію для кешування браузерами, щоб не перевантажувати запитами сервер.



2024-05-01

Certificate from IT academy GoIT - Python developer

Минув рік дуже інтенсивного навчання в IT академії GoIT - тепер я Python Developer.

Моїм напрямком було вивчення мови програмування #Python з застосуванням у вебзастосунках та у галузі Data Science і машинного навчання (ML).

 Отримав сертифікат Python Developer.

Сертифікат Python Developer.

 

2024-04-26

Mодуль "Python Data Science" в IT академії GoIT - проєкт на тему "Автоматизована система паркування".

💡 Закінчили навчання за останнім третім модулем "Python Data Science" в IT академії GoIT - start your career in IT.
🚩 Було створено команду 🇺🇦 розробників - "Neuron Curve Bobr".
🚗 В результаті командної роботи був виконанний груповий проєкт на тему "Автоматизована система паркування".

Дякую 🔥 команді за нашу спільну роботу впродовж напружених 🔨 двох тижнів.


Курсовий проєкт на тему "Автоматизована система паркування".

Згідно з технічним завданням на проєкт: Система автоматично може визначати номери автомобільних знаків на зображеннях з використанням методів машинного навчання.

Функції застосунку:

  • Управління обліковими записами користувачів
  • Візуалізація про кількість вільних та зайнятих паркомісць.
  • Приймання зображень від користувача (симуляція роботи відеокамери)
  • Виявлення та виділення області з номерним знаком
  • Детекція номерного знаку
  • Розпізнавання символів для ідентифікації тексту номерного знаку
  • Перевірка номера авто у базі зареєстрованих транспортних засобів
  • Запис часу в'їзду/виїзду кожного разу, коли визначається номерний знак
  • Відстеження тривалості паркування
  • Розрахунок загальної тривалості паркування
  • Зберігання даних про тривалість паркування в базі даних;
  • Розрахунок вартості паркування. Керування тарифами. Чек за QR-кодом;
  • Генерація звітів про розрахунки, які можна експортувати у форматі CSV
  • Оплата послуги паркування

Проєкт на тему "Автоматизована система паркування".

2024-01-12

Нотатка. Django. E-mail. User Certificate. EmailBackend.

Для відправлення листів електронною поштою на певних поштових системах потрібно застосовувати свій персональний сертифікат користувача, у парі з закритим ключем.

Властивості сертифіката для підключення клієнта

Але, пробуючи відправити листа у Django з'ясував що листи не відправляються з помилкою:

SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1000)')

Аналізуючи приклад з прямим надсиланням email через smtplib, з'ясував - що працює відправлення коли контекст створений з використанням purpose  = ssl.Purpose.SERVER_AUTH.

2023-12-04

Нотатка: Python. Django framework. ORM "GROUP BY". SQLite.

Django SQL GROUP BY.

А Ви знали що його не має в ORM у прямому вигляді ?
SELECT x.* FROM logs x WHERE x.username = 'user1' GROUP BY x.host

DBeaver тестування

Є таблиця log доступу користувачів:

CREATE TABLE logs (
	id INTEGER PRIMARY KEY AUTOINCREMENT,
	date DATETIME,
	host VARCHAR,
	request VARCHAR,
	username VARCHAR
);

CREATE INDEX logs_host_IDX ON logs (host);
SEED LOG TABLE

Стала проста задача для SQL запиту. Для отримання унікальних записів IP адрес з яких отримував доступ певний користувач.

Коли забув ти рідну мову, біднієш духом ти щодня...
When you forgot your native language you would become a poor at spirit every day ...

Д.Білоус / D.Bilous
Рабів до раю не пускають. Будь вільним!

ipv6 ready