diff --git a/flake.nix b/flake.nix index 8f75239..ee701d6 100644 --- a/flake.nix +++ b/flake.nix @@ -7,6 +7,67 @@ outputs = { self, nixpkgs, ... }: let + mireapython = pkgs.python3.withPackages (ps: with ps; [ + ### Обработка данных ### + numpy # работа с многомерными массивами, линейной алгеброй + pandas # работа с табличными данными и/или временными рядами + scipy # научные вычисления (оптимизация, интеграция, статистика) + + seaborn matplotlib # визуализация данных (графики, диаграммы) + + ### Мониторинг ### + psutil # управление и мониторинг системных ресурсов (CPU, память, процессы) + py-cpuinfo # получение информации о процессоре + + ### Работа с изображениями ### + opencv4 # работа с изображениями OpenCV + pillow # альтернативная работа с изображениями + + ### Утилиты ### + tqdm # прогресс-бары + python-dateutil # дата-время + colorama # цветной вывод + debugpy # дебаг + loguru # логи + + ### Парадигмы программирования ### + automat # автоматное программирование через декораторы + pytransitions # ещё один инструмент для конечных автоматов + cytoolz # высокопроизводительные операций с коллекциями в парадигме ФП + + ### Выход "во внешний мир": обвязки, API, пр. ### + requests # сетевые запросы общего назначения + beautifulsoup4 # парсинг сайтов + simplejson # обвязка на JSON + pymodbus # реализация Modbus + gpiozero # Raspberry Pi + #pyserial # реализация взаимодействия через COM-порт + sqlalchemy # ORM-инструмент для SQL + psycopg2 # PostgreSQL + opcua-widgets # OPC UA + pyrogram # telegram-клиент на Python (как для ботов, так и для юзеров) + cffi # вызов функций из библиотек на C/C++ + + ### Нейросети ### + torch # нейросети, глубокое обучение + torchvision # дополнительные утилиты и модели для работы с изображениями в PyTorch + albumentations # аугментация изображение + streamlit # веб-приложения анализа данных + ultralytics # YOLO + + ### Django ### + django # создание веб-приложений + django-multiselectfield # поддержка множественного выбора в моделях Django + sorl-thumbnail # генерация и управление миниатюрами изображений в Django + django-filter # фильтрация данных в запросах API + django-types # типизация для моделей и функций Django + django-taggit # управление тегами в приложениях Django + django-context-decorator # упрощённое управление контекстами шаблонов + django-annoying # упрощение работы с Django + django-simple-captcha # добавляет простую капчу + + ]); + pkgs = import nixpkgs { system = "x86_64-linux"; }; ultralyticsThop = pkgs.python3.pkgs.buildPythonPackage rec { @@ -24,14 +85,14 @@ }; ultralytics = pkgs.python3.pkgs.buildPythonPackage rec { pname = "ultralytics"; - version = "8.2.82"; - format = "pyproject"; - src = pkgs.fetchPypi { - inherit pname version; - sha256 = "sha256-tb0Sb0Sy9iMrYl8kuKoBJZtSfXJo/LgfhOHIlyOFebY="; - }; - nativeBuildInputs = [ pkgs.python312Packages.setuptools ]; - buildInputs = with pkgs.python312Packages; [ + version = "8.2.82"; + format = "pyproject"; + src = pkgs.fetchPypi { + inherit pname version; + sha256 = "sha256-tb0Sb0Sy9iMrYl8kuKoBJZtSfXJo/LgfhOHIlyOFebY="; + }; + nativeBuildInputs = [ pkgs.python312Packages.setuptools ]; + buildInputs = with pkgs.python312Packages; [ numpy scipy torch @@ -57,44 +118,7 @@ preBuild = "ln -s ${pkgs.python312Packages.opencv4} opencv-python"; }; -mireapython = pkgs.python3.withPackages (ps: with ps; [ - numpy - scipy - torch - psutil # idk why but flakes doesn't take it into the general python installation, so i copied it from the above - pandas - seaborn - py-cpuinfo - torchvision - tqdm - requests - opencv4 - streamlit - - matplotlib - pillow - - colorama - simplejson - python-dateutil - - beautifulsoup4 - cytoolz - - - - django - django-multiselectfield - sorl-thumbnail - django-types - django-taggit - django-context-decorator - django-annoying - django-simple-captcha - ultralytics - ]); - - in { +in { packages.x86_64-linux.mireapython = mireapython; defaultPackage.x86_64-linux = mireapython; hydraJobs.default = self.packages.x86_64-linux.mireapython;