diff --git a/pkgs/by-name/de/devtoolbox/package.nix b/pkgs/by-name/de/devtoolbox/package.nix new file mode 100644 index 000000000000..c058aa36e3ec --- /dev/null +++ b/pkgs/by-name/de/devtoolbox/package.nix @@ -0,0 +1,118 @@ +{ + lib, + python3Packages, + fetchFromGitHub, + meson, + ninja, + pkg-config, + gobject-introspection, + blueprint-compiler, + wrapGAppsHook4, + desktop-file-utils, + libadwaita, + gtksourceview5, + webkitgtk_6_0, + gcr_4, + gdk-pixbuf, +}: +python3Packages.buildPythonApplication rec { + pname = "devtoolbox"; + version = "1.2"; + pyproject = false; # uses meson + + src = fetchFromGitHub { + owner = "aleiepure"; + repo = "devtoolbox"; + rev = "v${version}"; + hash = "sha256-tSH7H2Y/+8EpuM4+Fa0iL/pSJSVtFDXlO2w/xwpzps0="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + gobject-introspection + blueprint-compiler + wrapGAppsHook4 + desktop-file-utils + ]; + + buildInputs = [ + libadwaita + gtksourceview5 + webkitgtk_6_0 + gcr_4 + gdk-pixbuf + ]; + + dependencies = with python3Packages; [ + pygobject3 + ruamel-yaml + lxml + python-crontab + jwt + jsonschema + pytz + tzlocal + python-lorem + uuid6 + textstat + markdown2 + daltonlens + asn1crypto + qrcode + sqlparse + jsbeautifier + cssbeautifier + humanize + croniter + python-dateutil + rcssmin + rjsmin + ]; + + dontWrapGApps = true; + + # Contains an unusable devtoolbox-run-script + postInstall = '' + rm -r $out/devtoolbox + ''; + + preFixup = '' + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") + ''; + + meta = { + description = "Development tools at your fingertips"; + longDescription = '' + If you're tired of endlessly looking online for the right + tool, or to find again that website of which you don't + recall the name to do a quick conversion, this is the + right app for you. This is a collection of powerful yet + simple-to-use tools and utilities to solve the most common + daily development problems: + - JSON to YAML converter and vice-versa + - CRON expressions parser + - Formatters for common languages + - Hash generators + - Regex tester + - Markdown Previewer + - Image converters + - Much more... + ''; + homepage = "https://github.com/aleiepure/devtoolbox"; + license = with lib.licenses; [ + gpl3Plus + cc0 + lgpl3Only + mit + unlicense + ]; + mainProgram = "devtoolbox"; + maintainers = with lib.maintainers; [ + aleksana + aucub + ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/development/python-modules/daltonlens/default.nix b/pkgs/development/python-modules/daltonlens/default.nix new file mode 100644 index 000000000000..5410f4d2ab2e --- /dev/null +++ b/pkgs/development/python-modules/daltonlens/default.nix @@ -0,0 +1,53 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + setuptools, + setuptools-git, + numpy, + pillow, + pytestCheckHook, +}: +buildPythonPackage rec { + pname = "daltonlens"; + version = "0.1.5"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-T7fXlRdFtcVw5WURPqZhCmulUi1ZnCfCXgcLtTHeNas="; + }; + + build-system = [ + setuptools + setuptools-git + ]; + + dependencies = [ + numpy + pillow + ]; + + pythonImportsCheck = [ + "daltonlens" + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pytestFlagsArray = [ + "tests/" + ]; + + disabledTestPaths = [ + "tests/test_generate.py" + ]; + + meta = { + description = "R&D companion package for the desktop application DaltonLens"; + homepage = "https://github.com/DaltonLens/DaltonLens-Python"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ aleksana ]; + }; +} diff --git a/pkgs/development/python-modules/python-lorem/default.nix b/pkgs/development/python-modules/python-lorem/default.nix new file mode 100644 index 000000000000..e60991c79357 --- /dev/null +++ b/pkgs/development/python-modules/python-lorem/default.nix @@ -0,0 +1,37 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + setuptools, + pytestCheckHook, +}: +buildPythonPackage rec { + pname = "python-lorem"; + version = "1.3.0.post3"; + pyproject = true; + + src = fetchPypi { + inherit version; + pname = "python_lorem"; + hash = "sha256-Vw1TKheXg+AkhksnmWUfdIo+Jt7X7m1pS2f0Kfe8pv0="; + }; + + build-system = [ + setuptools + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "lorem" + ]; + + meta = { + description = "Pythonic lorem ipsum generator"; + homepage = "https://github.com/JarryShaw/lorem"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ aleksana ]; + }; +} diff --git a/pkgs/development/python-modules/textstat/default.nix b/pkgs/development/python-modules/textstat/default.nix new file mode 100644 index 000000000000..127c6f453a92 --- /dev/null +++ b/pkgs/development/python-modules/textstat/default.nix @@ -0,0 +1,50 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + pyphen, + pytestCheckHook, + pytest, +}: +buildPythonPackage rec { + version = "0.7.4"; + pname = "textstat"; + pyproject = true; + + src = fetchFromGitHub { + owner = "textstat"; + repo = "textstat"; + rev = version; + hash = "sha256-UOCWsIdoVGxmkro4kNBYNMYhA3kktngRDxKjo6o+GXY="; + }; + + build-system = [ + setuptools + ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest + ]; + + dependencies = [ + setuptools + pyphen + ]; + + pythonImportsCheck = [ + "textstat" + ]; + + pytestFlagsArray = [ + "test.py" + ]; + + meta = { + description = "Python package to calculate readability statistics of a text object"; + homepage = "https://textstat.org"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ aleksana ]; + }; +} diff --git a/pkgs/development/python-modules/uuid6/default.nix b/pkgs/development/python-modules/uuid6/default.nix new file mode 100644 index 000000000000..e8ca415443cb --- /dev/null +++ b/pkgs/development/python-modules/uuid6/default.nix @@ -0,0 +1,44 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + setuptools, + pytestCheckHook, +}: +buildPythonPackage rec { + pname = "uuid6"; + version = "2024.7.10"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-LSnX9j9ZPKruoODQ3QrYEpycZjsp4ZvfiC6GS+3xj7A="; + }; + + build-system = [ + setuptools + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pytestFlagsArray = [ + "test/" + ]; + + disabledTestPaths = [ + "test/test_uuid6.py" + ]; + + pythonImportsCheck = [ + "uuid6" + ]; + + meta = { + description = "New time-based UUID formats which are suited for use as a database key"; + homepage = "https://github.com/oittaa/uuid6-python"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ aleksana ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 40bc928f4361..993150398803 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2844,6 +2844,8 @@ self: super: with self; { dalle-mini = callPackage ../development/python-modules/dalle-mini { }; + daltonlens = callPackage ../development/python-modules/daltonlens { }; + daphne = callPackage ../development/python-modules/daphne { }; daqp = callPackage ../development/python-modules/daqp { }; @@ -9207,6 +9209,8 @@ self: super: with self; { python-hcl2 = callPackage ../development/python-modules/python-hcl2 { }; + python-lorem = callPackage ../development/python-modules/python-lorem { }; + python-ndn = callPackage ../development/python-modules/python-ndn { }; python-nvd3 = callPackage ../development/python-modules/python-nvd3 { }; @@ -15634,6 +15638,8 @@ self: super: with self; { textparser = callPackage ../development/python-modules/textparser { }; + textstat = callPackage ../development/python-modules/textstat { }; + textual = callPackage ../development/python-modules/textual { }; textual-dev = callPackage ../development/python-modules/textual-dev { }; @@ -17244,6 +17250,8 @@ self: super: with self; { utils = callPackage ../development/python-modules/utils { }; + uuid6 = callPackage ../development/python-modules/uuid6 { }; + uv = toPythonModule (pkgs.uv.override { python3Packages = self; });