diff --git a/pkgs/by-name/li/litestar/package.nix b/pkgs/by-name/li/litestar/package.nix new file mode 100644 index 000000000000..66c9dc2ccdd6 --- /dev/null +++ b/pkgs/by-name/li/litestar/package.nix @@ -0,0 +1,55 @@ +{ + python3Packages, + lib, + fetchFromGitHub, +}: + +python3Packages.buildPythonApplication rec { + pname = "litestar"; + version = "2.12.1"; + pyproject = true; + + build-system = with python3Packages; [ + hatchling + ]; + + src = fetchFromGitHub { + owner = "litestar-org"; + repo = "litestar"; + rev = "refs/tags/v${version}"; + hash = "sha256-bWo+hhSij0H9XGxpqg1/h7O8U8jjTmlaIHfCU5I4RSI="; + }; + + dependencies = with python3Packages; [ + anyio + click + redis + httpx + msgspec + multidict + jinja2 + pyyaml + rich + rich-click + typing-extensions + psutil + polyfactory + trio + cryptography + psycopg + fsspec + mako + time-machine + asyncpg + picologging + ]; + + meta = { + homepage = "https://litestar.dev/"; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ bot-wxt1221 ]; + changelog = "https://github.com/litestar-org/litestar/releases/tag/v${version}"; + description = "Production-ready, Light, Flexible and Extensible ASGI API framework"; + license = lib.licenses.mit; + }; +} diff --git a/pkgs/development/python-modules/picologging/default.nix b/pkgs/development/python-modules/picologging/default.nix new file mode 100644 index 000000000000..80a96cb6161f --- /dev/null +++ b/pkgs/development/python-modules/picologging/default.nix @@ -0,0 +1,56 @@ +{ + buildPythonPackage, + lib, + fetchFromGitHub, + pytestCheckHook, + setuptools, + scikit-build, + cmake, + ninja, + python, + flaky, + hypothesis, +}: + +buildPythonPackage rec { + pname = "picologging"; + version = "0.9.4"; + pyproject = true; + + src = fetchFromGitHub { + # 0.9.4 only release on github + owner = "microsoft"; + repo = "picologging"; + rev = "refs/tags/${version}"; + hash = "sha256-t75D7aNKAifzeCPwtyKp8LoiXtbbXspRFYnsI0gx+V4="; + }; + + build-system = [ + setuptools + cmake + scikit-build + ninja + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + dontUseCmakeConfigure = true; + + dependencies = [ + flaky + hypothesis + ]; + + pythonImportCheck = [ "picologging" ]; + + meta = { + homepage = "https://github.com/microsoft/picologging"; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ bot-wxt1221 ]; + changelog = "https://github.com/microsoft/picologging/releases/tag/${version}"; + description = "optimized logging library for Python"; + license = lib.licenses.mit; + }; +} diff --git a/pkgs/development/python-modules/polyfactory/default.nix b/pkgs/development/python-modules/polyfactory/default.nix new file mode 100644 index 000000000000..8dbe673ba693 --- /dev/null +++ b/pkgs/development/python-modules/polyfactory/default.nix @@ -0,0 +1,58 @@ +{ + buildPythonPackage, + lib, + fetchPypi, + hatchling, + hypothesis, + faker, + msgspec, + sqlalchemy, + aiosqlite, + typing-extensions, + pymongo, + pytest-asyncio, + pydantic, + pytestCheckHook, + email-validator, +}: + +buildPythonPackage rec { + pname = "polyfactory"; + version = "2.18.0"; + pyproject = true; + + src = fetchPypi { + inherit version pname; + hash = "sha256-BNi01JhuQGzUwWzAHou3Rwg4QtV6XA26Y6Ie5e91umY="; + }; + + build-system = [ hatchling ]; + + dependencies = [ + faker + typing-extensions + hypothesis + pydantic + sqlalchemy + msgspec + pymongo + aiosqlite + email-validator + ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-asyncio + ]; + + pythonImporeCheck = [ "polyfactory" ]; + + meta = { + homepage = "https://polyfactory.litestar.dev/"; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ bot-wxt1221 ]; + changelog = "https://github.com/litestar-org/polyfactory/releases/tag/v${version}"; + description = "Simple and powerful factories for mock data generation"; + license = lib.licenses.mit; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index eb6cce95f3e8..91e0bd6f7b1b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -10172,6 +10172,8 @@ self: super: with self; { picobox = callPackage ../development/python-modules/picobox { }; + picologging = callPackage ../development/python-modules/picologging { }; + picos = callPackage ../development/python-modules/picos { }; picosvg = callPackage ../development/python-modules/picosvg { }; @@ -10737,6 +10739,8 @@ self: super: with self; { polyline = callPackage ../development/python-modules/polyline { }; + polyfactory = callPackage ../development/python-modules/polyfactory { }; + polygon3 = callPackage ../development/python-modules/polygon3 { }; polyswarm-api = callPackage ../development/python-modules/polyswarm-api { };