Merge staging-next into staging
This commit is contained in:
commit
574021dc74
@ -322,7 +322,9 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||
replacement. It stores backups as volume dump files and thus better integrates
|
||||
into contemporary backup solutions.
|
||||
|
||||
- `services.maddy` now allows to configure users and their credentials using `services.maddy.ensureCredentials`.
|
||||
- `services.maddy` got several updates:
|
||||
- Configuration of users and their credentials using `services.maddy.ensureCredentials`.
|
||||
- Configuration of TLS key and certificate files using `services.maddy.tls`.
|
||||
|
||||
- The `dnsmasq` service now takes configuration via the
|
||||
`services.dnsmasq.settings` attribute set. The option
|
||||
|
@ -13,8 +13,6 @@ let
|
||||
# configuration here https://github.com/foxcpp/maddy/blob/master/maddy.conf
|
||||
# Do not use this in production!
|
||||
|
||||
tls off
|
||||
|
||||
auth.pass_table local_authdb {
|
||||
table sql_table {
|
||||
driver sqlite3
|
||||
@ -35,6 +33,7 @@ let
|
||||
}
|
||||
optional_step file /etc/maddy/aliases
|
||||
}
|
||||
|
||||
msgpipeline local_routing {
|
||||
destination postmaster $(local_domains) {
|
||||
modify {
|
||||
@ -215,6 +214,63 @@ in {
|
||||
'';
|
||||
};
|
||||
|
||||
tls = {
|
||||
loader = mkOption {
|
||||
type = with types; nullOr (enum [ "file" "off" ]);
|
||||
default = "off";
|
||||
description = lib.mdDoc ''
|
||||
TLS certificates are obtained by modules called "certificate
|
||||
loaders". Currently only the file loader is supported which reads
|
||||
certificates from files specifying the options `keyPaths` and
|
||||
`certPaths`.
|
||||
'';
|
||||
};
|
||||
|
||||
certificates = mkOption {
|
||||
type = with types; listOf (submodule {
|
||||
options = {
|
||||
keyPath = mkOption {
|
||||
type = types.path;
|
||||
example = "/etc/ssl/mx1.example.org.key";
|
||||
description = lib.mdDoc ''
|
||||
Path to the private key used for TLS.
|
||||
'';
|
||||
};
|
||||
certPath = mkOption {
|
||||
type = types.path;
|
||||
example = "/etc/ssl/mx1.example.org.crt";
|
||||
description = lib.mdDoc ''
|
||||
Path to the certificate used for TLS.
|
||||
'';
|
||||
};
|
||||
};
|
||||
});
|
||||
default = [];
|
||||
example = lib.literalExpression ''
|
||||
[{
|
||||
keyPath = "/etc/ssl/mx1.example.org.key";
|
||||
certPath = "/etc/ssl/mx1.example.org.crt";
|
||||
}]
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
A list of attribute sets containing paths to TLS certificates and
|
||||
keys. Maddy will use SNI if multiple pairs are selected.
|
||||
'';
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = with types; nullOr lines;
|
||||
description = lib.mdDoc ''
|
||||
Arguments for the specific certificate loader. Note that Maddy uses
|
||||
secure defaults for the TLS configuration so there is no need to
|
||||
change anything in most cases.
|
||||
See [upstream manual](https://maddy.email/reference/tls/) for
|
||||
available options.
|
||||
'';
|
||||
default = "";
|
||||
};
|
||||
};
|
||||
|
||||
openFirewall = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
@ -224,7 +280,7 @@ in {
|
||||
};
|
||||
|
||||
ensureAccounts = mkOption {
|
||||
type = types.listOf types.str;
|
||||
type = with types; listOf str;
|
||||
default = [];
|
||||
description = lib.mdDoc ''
|
||||
List of IMAP accounts which get automatically created. Note that for
|
||||
@ -270,6 +326,16 @@ in {
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
assertions = [{
|
||||
assertion = cfg.tls.loader == "file" -> cfg.tls.certificates != [];
|
||||
message = ''
|
||||
If maddy is configured to use TLS, tls.certificates with attribute sets
|
||||
of certPath and keyPath must be provided.
|
||||
Read more about obtaining TLS certificates here:
|
||||
https://maddy.email/tutorials/setting-up/#tls-certificates
|
||||
'';
|
||||
}];
|
||||
|
||||
systemd = {
|
||||
|
||||
packages = [ pkgs.maddy ];
|
||||
@ -318,6 +384,17 @@ in {
|
||||
$(primary_domain) = ${cfg.primaryDomain}
|
||||
$(local_domains) = ${toString cfg.localDomains}
|
||||
hostname ${cfg.hostname}
|
||||
|
||||
${if (cfg.tls.loader == "file") then ''
|
||||
tls file ${concatStringsSep " " (
|
||||
map (x: x.certPath + " " + x.keyPath
|
||||
) cfg.tls.certificates)} ${optionalString (cfg.tls.extraConfig != "") ''
|
||||
{ ${cfg.tls.extraConfig} }
|
||||
''}
|
||||
'' else if (cfg.tls.loader == "off") then ''
|
||||
tls off
|
||||
'' else ""}
|
||||
|
||||
${cfg.config}
|
||||
'';
|
||||
};
|
||||
|
@ -393,7 +393,7 @@ in {
|
||||
lxd-image-server = handleTest ./lxd-image-server.nix {};
|
||||
#logstash = handleTest ./logstash.nix {};
|
||||
lorri = handleTest ./lorri/default.nix {};
|
||||
maddy = handleTest ./maddy.nix {};
|
||||
maddy = discoverTests (import ./maddy { inherit handleTest; });
|
||||
maestral = handleTest ./maestral.nix {};
|
||||
magic-wormhole-mailbox-server = handleTest ./magic-wormhole-mailbox-server.nix {};
|
||||
magnetico = handleTest ./magnetico.nix {};
|
||||
|
6
nixos/tests/maddy/default.nix
Normal file
6
nixos/tests/maddy/default.nix
Normal file
@ -0,0 +1,6 @@
|
||||
{ handleTest }:
|
||||
|
||||
{
|
||||
unencrypted = handleTest ./unencrypted.nix { };
|
||||
tls = handleTest ./tls.nix { };
|
||||
}
|
94
nixos/tests/maddy/tls.nix
Normal file
94
nixos/tests/maddy/tls.nix
Normal file
@ -0,0 +1,94 @@
|
||||
import ../make-test-python.nix ({ pkgs, ... }:
|
||||
let
|
||||
certs = import ../common/acme/server/snakeoil-certs.nix;
|
||||
domain = certs.domain;
|
||||
in {
|
||||
name = "maddy-tls";
|
||||
meta = with pkgs.lib.maintainers; { maintainers = [ onny ]; };
|
||||
|
||||
nodes = {
|
||||
server = { options, ... }: {
|
||||
services.maddy = {
|
||||
enable = true;
|
||||
hostname = domain;
|
||||
primaryDomain = domain;
|
||||
openFirewall = true;
|
||||
ensureAccounts = [ "postmaster@${domain}" ];
|
||||
ensureCredentials = {
|
||||
# Do not use this in production. This will make passwords world-readable
|
||||
# in the Nix store
|
||||
"postmaster@${domain}".passwordFile = "${pkgs.writeText "postmaster" "test"}";
|
||||
};
|
||||
tls = {
|
||||
loader = "file";
|
||||
certificates = [{
|
||||
certPath = "${certs.${domain}.cert}";
|
||||
keyPath = "${certs.${domain}.key}";
|
||||
}];
|
||||
};
|
||||
# Enable TLS listeners. Configuring this via the module is not yet
|
||||
# implemented.
|
||||
config = builtins.replaceStrings [
|
||||
"imap tcp://0.0.0.0:143"
|
||||
"submission tcp://0.0.0.0:587"
|
||||
] [
|
||||
"imap tls://0.0.0.0:993 tcp://0.0.0.0:143"
|
||||
"submission tls://0.0.0.0:465 tcp://0.0.0.0:587"
|
||||
] options.services.maddy.config.default;
|
||||
};
|
||||
# Not covered by openFirewall yet
|
||||
networking.firewall.allowedTCPPorts = [ 993 465 ];
|
||||
};
|
||||
|
||||
client = { nodes, ... }: {
|
||||
security.pki.certificateFiles = [
|
||||
certs.ca.cert
|
||||
];
|
||||
networking.extraHosts = ''
|
||||
${nodes.server.networking.primaryIPAddress} ${domain}
|
||||
'';
|
||||
environment.systemPackages = [
|
||||
(pkgs.writers.writePython3Bin "send-testmail" { } ''
|
||||
import smtplib
|
||||
import ssl
|
||||
from email.mime.text import MIMEText
|
||||
|
||||
context = ssl.create_default_context()
|
||||
msg = MIMEText("Hello World")
|
||||
msg['Subject'] = 'Test'
|
||||
msg['From'] = "postmaster@${domain}"
|
||||
msg['To'] = "postmaster@${domain}"
|
||||
with smtplib.SMTP_SSL(host='${domain}', port=465, context=context) as smtp:
|
||||
smtp.login('postmaster@${domain}', 'test')
|
||||
smtp.sendmail(
|
||||
'postmaster@${domain}', 'postmaster@${domain}', msg.as_string()
|
||||
)
|
||||
'')
|
||||
(pkgs.writers.writePython3Bin "test-imap" { } ''
|
||||
import imaplib
|
||||
|
||||
with imaplib.IMAP4_SSL('${domain}') as imap:
|
||||
imap.login('postmaster@${domain}', 'test')
|
||||
imap.select()
|
||||
status, refs = imap.search(None, 'ALL')
|
||||
assert status == 'OK'
|
||||
assert len(refs) == 1
|
||||
status, msg = imap.fetch(refs[0], 'BODY[TEXT]')
|
||||
assert status == 'OK'
|
||||
assert msg[0][1].strip() == b"Hello World"
|
||||
'')
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
server.wait_for_unit("maddy.service")
|
||||
server.wait_for_open_port(143)
|
||||
server.wait_for_open_port(993)
|
||||
server.wait_for_open_port(587)
|
||||
server.wait_for_open_port(465)
|
||||
client.succeed("send-testmail")
|
||||
client.succeed("test-imap")
|
||||
'';
|
||||
})
|
@ -1,5 +1,5 @@
|
||||
import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
name = "maddy";
|
||||
import ../make-test-python.nix ({ pkgs, ... }: {
|
||||
name = "maddy-unencrypted";
|
||||
meta = with pkgs.lib.maintainers; { maintainers = [ onny ]; };
|
||||
|
||||
nodes = {
|
@ -3,20 +3,33 @@
|
||||
, mopidy
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
let
|
||||
python = python3.override {
|
||||
packageOverrides = self: super: {
|
||||
ytmusicapi = super.ytmusicapi.overridePythonAttrs (old: rec {
|
||||
version = "0.25.1";
|
||||
src = self.fetchPypi {
|
||||
inherit (old) pname;
|
||||
inherit version;
|
||||
hash = "sha256-uc/fgDetSYaCRzff0SzfbRhs3TaKrfE2h6roWkkj8yQ=";
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
in python.pkgs.buildPythonApplication rec {
|
||||
pname = "mopidy-ytmusic";
|
||||
version = "0.3.8";
|
||||
|
||||
src = python3.pkgs.fetchPypi {
|
||||
src = python.pkgs.fetchPypi {
|
||||
inherit version;
|
||||
pname = "mopidy_ytmusic";
|
||||
sha256 = "6b4d8ff9c477dbdd30d0259a009494ebe104cad3f8b37241ae503e5bce4ec2e8";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
(mopidy.override { pythonPackages = python3.pkgs; })
|
||||
python3.pkgs.ytmusicapi
|
||||
python3.pkgs.pytube
|
||||
(mopidy.override { pythonPackages = python.pkgs; })
|
||||
python.pkgs.ytmusicapi
|
||||
python.pkgs.pytube
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "mopidy_ytmusic" ];
|
||||
|
@ -19,14 +19,14 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "arianna";
|
||||
version = "1.0.0";
|
||||
version = "1.0.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "invent.kde.org";
|
||||
owner = "graphics";
|
||||
repo = "arianna";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-X3PDGWsQ8Alj5fisZC1tTHQDLPmjtiLw0X9gMvh5KFI=";
|
||||
hash = "sha256-IETqKVIWeICFgqmBSVz8ea8100hHGXIo5S3O0OaIC04=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -419,11 +419,11 @@
|
||||
"vendorHash": "sha256-uWTY8cFztXFrQQ7GW6/R+x9M6vHmsb934ldq+oeW5vk="
|
||||
},
|
||||
"github": {
|
||||
"hash": "sha256-iFYYKFPa9+pTpmTddFzqB1yRwBnp8NG281oxQP7V6+U=",
|
||||
"hash": "sha256-gMuQNI0+zvveVqyhRdIyPyxVNfdk6PUXpf4Iv2Y+jI4=",
|
||||
"homepage": "https://registry.terraform.io/providers/integrations/github",
|
||||
"owner": "integrations",
|
||||
"repo": "terraform-provider-github",
|
||||
"rev": "v5.23.0",
|
||||
"rev": "v5.24.0",
|
||||
"spdx": "MIT",
|
||||
"vendorHash": null
|
||||
},
|
||||
@ -927,13 +927,13 @@
|
||||
"vendorHash": "sha256-j+3qtGlueKZgf0LuNps4Wc9G3EmpSgl8ZNSLqslyizI="
|
||||
},
|
||||
"rancher2": {
|
||||
"hash": "sha256-UM000GXkWwNWYM1El3wjXgqbmcMkD9Gl69ZARSJOfZo=",
|
||||
"hash": "sha256-UDVKmOON190eQzGrxzVtq7gDYeKBBM1nnL2ujU1wDo8=",
|
||||
"homepage": "https://registry.terraform.io/providers/rancher/rancher2",
|
||||
"owner": "rancher",
|
||||
"repo": "terraform-provider-rancher2",
|
||||
"rev": "v2.0.0",
|
||||
"rev": "v3.0.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-Ntq4wxXPUGbu4+6X1pBsmQsqfJ/jccTiHDJeHVpWe8Y="
|
||||
"vendorHash": "sha256-RSHI994zW7rzA/SJ/Ioilg7mQB/VbDInSeZ9IaEYVIc="
|
||||
},
|
||||
"random": {
|
||||
"hash": "sha256-IsXKdS3B5kWY5LlNKM0fYjp2uM96ngi6vZ9F46MmfcA=",
|
||||
|
@ -20,14 +20,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wpsoffice";
|
||||
version = "11.1.0.11691";
|
||||
version = "11.1.0.11698";
|
||||
|
||||
src = if useChineseVersion then fetchurl {
|
||||
url = "https://wps-linux-personal.wpscdn.cn/wps/download/ep/Linux2019/${lib.last (lib.splitString "." version)}/wps-office_${version}_amd64.deb";
|
||||
sha256 = "sha256-ubFYACnsMObde9TGp1tyHtG0n5NxYMFtEbY9KXj62No=";
|
||||
sha256 = "sha256-m7BOE2IF2m75mV/4X3HY9UJcidL0S0biqkidddp4LbQ=";
|
||||
} else fetchurl {
|
||||
url = "https://wdl1.pcfg.cache.wpscdn.com/wpsdl/wpsoffice/download/linux/${lib.last (lib.splitString "." version)}/wps-office_${version}.XA_amd64.deb";
|
||||
sha256 = "sha256-F1foPaDd4YiAcCePleKsABjFzsb2Uv+Lkja+58pnquI=";
|
||||
sha256 = "sha256-spqxQK/xTE8yFPmGbSbrDY1vSxkan2kwAWpCWIExhgs=";
|
||||
};
|
||||
|
||||
unpackCmd = "dpkg -x $src .";
|
||||
|
@ -2,19 +2,21 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ivy";
|
||||
version = "0.2.8";
|
||||
version = "0.2.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
rev = "v${version}";
|
||||
owner = "robpike";
|
||||
repo = "ivy";
|
||||
sha256 = "sha256-pb/dJfEXz13myT6XadCg0kKd+n9bcHNBc84ES+hDw2Y=";
|
||||
hash = "sha256-6rZfBx6jKNOEnG+cmrzgvjUoCHQe+olPeX11qX8ep38=";
|
||||
};
|
||||
|
||||
vendorSha256 = null;
|
||||
vendorHash = null;
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
ldflags = [ "-s" "-w" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/robpike/ivy";
|
||||
description = "ivy, an APL-like calculator";
|
||||
|
@ -1,5 +1,18 @@
|
||||
{ lib, stdenv, fetchurl, boost, libwpd, libwpg, pkg-config, zlib, gperf
|
||||
, librevenge, libxml2, icu, perl, cppunit, doxygen
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, boost
|
||||
, libwpd
|
||||
, libwpg
|
||||
, pkg-config
|
||||
, zlib
|
||||
, gperf
|
||||
, librevenge
|
||||
, libxml2
|
||||
, icu
|
||||
, perl
|
||||
, cppunit
|
||||
, doxygen
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -13,12 +26,9 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0k7adcbbf27l7n453cca1m6s9yj6qvb5j6bsg2db09ybf3w8vbwg";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config cppunit doxygen ];
|
||||
buildInputs = [ boost libwpd libwpg zlib gperf librevenge libxml2 icu perl ];
|
||||
|
||||
configureFlags = [
|
||||
"--disable-werror"
|
||||
];
|
||||
strictDeps = true;
|
||||
nativeBuildInputs = [ pkg-config doxygen perl gperf ];
|
||||
buildInputs = [ boost libwpd libwpg zlib librevenge libxml2 icu cppunit ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
@ -27,5 +37,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://wiki.documentfoundation.org/DLP/Libraries/libvisio";
|
||||
license = licenses.mpl20;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ nickcao ];
|
||||
};
|
||||
}
|
||||
|
@ -1,15 +1,14 @@
|
||||
{ lib, stdenv, fetchFromGitHub, cmake }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "tl-expected-unstable";
|
||||
version = "2023-02-15"; # 37 commits ahead of version 1.0.0
|
||||
pname = "tl-expected";
|
||||
version = "1.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TartanLlama";
|
||||
repo = "expected";
|
||||
rev = "9d812f5e3b5bc68023f6e31d29489cdcaacef606";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-ZokcGQgHH37nmTMLmxFcun4S1RjXuXb9NfWHet8Fbc4=";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-AuRU8VI5l7Th9fJ5jIc/6mPm0Vqbbt6rY8QCCNDOU50=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
1483
pkgs/development/node-packages/node-packages.nix
generated
1483
pkgs/development/node-packages/node-packages.nix
generated
File diff suppressed because it is too large
Load Diff
@ -16,6 +16,7 @@
|
||||
, requests
|
||||
, setuptools
|
||||
, six
|
||||
, typing-extensions
|
||||
, watchdog
|
||||
, websocket-client
|
||||
, wheel
|
||||
@ -23,21 +24,22 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "chalice";
|
||||
version = "1.27.3";
|
||||
version = "1.28.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aws";
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-izzoYxzkaQqcEM5e8BhZeZIxtAGRDNH/qvqwvrx250s=";
|
||||
hash = "sha256-m3pSD4fahBW6Yt/w07Co4fTZD7k6as5cPwoK5QSry6M=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "attrs>=19.3.0,<21.5.0" "attrs" \
|
||||
--replace "inquirer>=2.7.0,<3.0.0" "inquirer" \
|
||||
--replace "pip>=9,<22.3" "pip" \
|
||||
--replace "pip>=9,<23.1" "pip" \
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@ -51,6 +53,7 @@ buildPythonPackage rec {
|
||||
pyyaml
|
||||
setuptools
|
||||
six
|
||||
typing-extensions
|
||||
wheel
|
||||
watchdog
|
||||
];
|
||||
@ -87,13 +90,20 @@ buildPythonPackage rec {
|
||||
# https://github.com/aws/chalice/issues/1850
|
||||
"test_resolve_endpoint"
|
||||
"test_endpoint_from_arn"
|
||||
# Tests require dist
|
||||
"test_setup_tar_gz_hyphens_in_name"
|
||||
"test_both_tar_gz"
|
||||
"test_both_tar_bz2"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "chalice" ];
|
||||
pythonImportsCheck = [
|
||||
"chalice"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python Serverless Microframework for AWS";
|
||||
homepage = "https://github.com/aws/chalice";
|
||||
changelog = "https://github.com/aws/chalice/blob/${version}/CHANGELOG.rst";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ costrouc ];
|
||||
};
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "channels-redis";
|
||||
version = "4.0.0";
|
||||
version = "4.1.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -21,8 +21,8 @@ buildPythonPackage rec {
|
||||
src = fetchFromGitHub {
|
||||
owner = "django";
|
||||
repo = "channels_redis";
|
||||
rev = version;
|
||||
hash = "sha256-YiLNrMRroa8T4uPNwa5ussFoFYjyg31waGpBGhAETmY=";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-Eid9aWlLNnqr3WAnsLe+Pz9gsugCsdDKi0+nFNF02CI=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
@ -54,6 +54,7 @@ buildPythonPackage rec {
|
||||
meta = with lib; {
|
||||
description = "Redis-backed ASGI channel layer implementation";
|
||||
homepage = "https://github.com/django/channels_redis/";
|
||||
changelog = "https://github.com/django/channels_redis/blob/${version}/CHANGELOG.txt";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ mmai ];
|
||||
};
|
||||
|
@ -32,21 +32,21 @@ in
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "datafusion";
|
||||
version = "22.0.0";
|
||||
version = "23.0.0";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
name = "datafusion-source";
|
||||
owner = "apache";
|
||||
repo = "arrow-datafusion-python";
|
||||
rev = "22.0.0";
|
||||
hash = "sha256-EKurQ4h5IOTU3JiGN+MHrDciQUadUrywNRhnv9S/9iY=";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-ndee7aNmoTtZyfl9UUXdNVHkp0GAuJWkyfZJyRrGwn8=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
name = "datafusion-cargo-deps";
|
||||
inherit src pname version;
|
||||
hash = "sha256-0kfavTFqsQ1Uvg5nQw6VFGlvih8ysOyS2KGT4cTIsVI=";
|
||||
hash = "sha256-eDweEc+7dDbF0WBi6M5XAPIiHRjlYAdf2eNJdwj4D7c=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with rustPlatform; [
|
||||
@ -79,6 +79,7 @@ buildPythonPackage rec {
|
||||
that uses Apache Arrow as its in-memory format.
|
||||
'';
|
||||
homepage = "https://arrow.apache.org/datafusion/";
|
||||
changelog = "https://github.com/apache/arrow-datafusion-python/blob/${version}/CHANGELOG.md";
|
||||
license = with licenses; [ asl20 ];
|
||||
maintainers = with maintainers; [ cpcloud ];
|
||||
};
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "datasets";
|
||||
version = "2.11.0";
|
||||
version = "2.12.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -30,7 +30,7 @@ buildPythonPackage rec {
|
||||
owner = "huggingface";
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-vnKd7KapejcZN1RHNMpH4rrpz2P2DcfiyI33I0wiE+0=";
|
||||
hash = "sha256-o/LUzRmpM4tjiCh31KoQXzU1Z/p/91uamh7G4SGnxQM=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -29,7 +29,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "datasette";
|
||||
version = "0.64.2";
|
||||
version = "0.64.3";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -38,7 +38,7 @@ buildPythonPackage rec {
|
||||
owner = "simonw";
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-AxIJUJzFEAvAV59hYDB3pb5/1rS9d7T0ltl6lVWTCrE=";
|
||||
hash = "sha256-hUMaveScSGbiELvN2oo8Nf/jFvYXeLpxTONl1R4UOZU=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
46
pkgs/development/python-modules/fuzzytm/default.nix
Normal file
46
pkgs/development/python-modules/fuzzytm/default.nix
Normal file
@ -0,0 +1,46 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, gensim
|
||||
, numpy
|
||||
, pandas
|
||||
, pyfume
|
||||
, scipy
|
||||
, pythonOlder
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "fuzzytm";
|
||||
version = "2.0.5";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "FuzzyTM";
|
||||
inherit version;
|
||||
hash = "sha256-IELkjd3/yc2lBYsLP6mms9LEcXOfVtNNooEKCMf9BtU=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
gensim
|
||||
numpy
|
||||
pandas
|
||||
pyfume
|
||||
scipy
|
||||
];
|
||||
|
||||
# Module has no tests
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"FuzzyTM"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Library for Fuzzy Topic Models";
|
||||
homepage = "https://github.com/ERijck/FuzzyTM";
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
@ -14,14 +14,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "gensim";
|
||||
version = "4.3.0";
|
||||
version = "4.3.1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-ZL1+ximQIVh4gi6LJWnRg1BU9WzfU2AN3+mSfjHztI0=";
|
||||
hash = "sha256-i18RwOalMICGtI6PaEEiOk+ho31RNoRhK37oVLUzAV8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -54,10 +54,8 @@ buildPythonPackage rec {
|
||||
meta = with lib; {
|
||||
description = "Topic-modelling library";
|
||||
homepage = "https://radimrehurek.com/gensim/";
|
||||
changelog = "https://github.com/RaRe-Technologies/gensim/blob/${version}/CHANGELOG.md";
|
||||
license = licenses.lgpl21Only;
|
||||
maintainers = with maintainers; [ jyp ];
|
||||
# python310 errors as: No matching distribution found for FuzzyTM>=0.4.0
|
||||
# python311 errors as: longintrepr.h: No such file or directory
|
||||
broken = true; # At 2023-02-05
|
||||
};
|
||||
}
|
||||
|
@ -17,19 +17,19 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "glean-sdk";
|
||||
version = "52.2.0";
|
||||
version = "52.6.0";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-iW432YtZtRGUWia33Lsnu+aQuedhBJdh8dZ30FPg6Vk=";
|
||||
hash = "sha256-TTV6oydUP2znEOm7KZElugNDfROnlPmyC19Ig1H8/wM=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
name = "${pname}-${version}";
|
||||
hash = "sha256-/7qKIQglNKGveKFtPeqd35Mq2hH/20BGTgDBgip4PnI=";
|
||||
hash = "sha256-Np2TfgKP3yfJqA4WZyyedGp9XtKJjDikUov5pvB/opk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -6,18 +6,21 @@
|
||||
, six
|
||||
, hypothesis
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "inform";
|
||||
version = "1.27";
|
||||
version = "1.28";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "KenKundert";
|
||||
repo = "inform";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-SvE+UAGpUomUBHlH4aYZ1BYmLp3BherRjosKsIaOA/s=";
|
||||
hash = "sha256-RA8/or3HTS/rQmG4A/Eg5j24YElaTEpnHa1yksARVMQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -46,6 +49,7 @@ buildPythonPackage rec {
|
||||
allow you to simply and cleanly print different types of messages.
|
||||
'';
|
||||
homepage = "https://inform.readthedocs.io";
|
||||
changelog = "https://github.com/KenKundert/inform/blob/v${version}/doc/releases.rst";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ jeremyschlatter ];
|
||||
};
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "inquirer";
|
||||
version = "3.1.2";
|
||||
version = "3.1.3";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -28,7 +28,7 @@ buildPythonPackage rec {
|
||||
owner = "magmax";
|
||||
repo = "python-inquirer";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-7kq0sZzPeCX7TA5Cl2rg6Uw+9jLz335a+tOrO0+Cyas=";
|
||||
hash = "sha256-7GfHsCQgnDUdiM1z9YNdDuwMNy6rLjR1UTnZMgpQ5k4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -26,7 +26,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "intake";
|
||||
version = "0.6.6";
|
||||
version = "0.6.8";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -35,7 +35,7 @@ buildPythonPackage rec {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-/VQKLmEpIOULTPpJKuVLyqqQVLKVhwVBoos9Q/upwQM=";
|
||||
hash = "sha256-7A9wuuOQyGhdGj6T5VY+NrZjEOf/y8dCzSkHuPhNsKI=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@ -52,7 +52,7 @@ buildPythonPackage rec {
|
||||
nativeCheckInputs = [
|
||||
intake-parquet
|
||||
pytestCheckHook
|
||||
] ++ passthru.optional-dependencies.server;
|
||||
] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
|
||||
|
||||
passthru.optional-dependencies = {
|
||||
server = [
|
||||
|
@ -3,6 +3,7 @@
|
||||
, blessings
|
||||
, fetchFromGitHub
|
||||
, invoke
|
||||
, pythonOlder
|
||||
, releases
|
||||
, semantic-version
|
||||
, tabulate
|
||||
@ -12,20 +13,21 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "invocations";
|
||||
version = "3.0.1";
|
||||
version = "3.0.2";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pyinvoke";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-G0sl2DCROxlTnW3lWKeGw4qDmnaeRC4xYf27d6YePjE=";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-sXMxTOi0iCz7Zq0lXkpproUtkId5p/GCqP1TvgqYlME=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "semantic_version>=2.4,<2.7" "semantic_version" \
|
||||
--replace "tabulate==0.7.5" "tabulate"
|
||||
--replace "semantic_version>=2.4,<2.7" "semantic_version"
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@ -48,6 +50,7 @@ buildPythonPackage rec {
|
||||
meta = with lib; {
|
||||
description = "Common/best-practice Invoke tasks and collections";
|
||||
homepage = "https://invocations.readthedocs.io/";
|
||||
changelog = "https://github.com/pyinvoke/invocations/blob/${version}/docs/changelog.rst";
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ samuela ];
|
||||
};
|
||||
|
38
pkgs/development/python-modules/ipyniivue/default.nix
Normal file
38
pkgs/development/python-modules/ipyniivue/default.nix
Normal file
@ -0,0 +1,38 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, pythonOlder
|
||||
, hatchling
|
||||
, hatch-jupyter-builder
|
||||
, ipywidgets
|
||||
, jupyter-ui-poll
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ipyniivue";
|
||||
version = "1.0.2";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-vFbEV/ZMXvKZeQUR536OZQ/5uIkt4tOWcCGRPMdc34I";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ hatchling hatch-jupyter-builder ];
|
||||
|
||||
propagatedBuildInputs = [ ipywidgets jupyter-ui-poll ];
|
||||
|
||||
nativeCheckImports = [ pytestCheckHook ];
|
||||
pythonImportsCheck = [ "ipyniivue" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Show a nifti image in a webgl 2.0 canvas within a jupyter notebook cell";
|
||||
homepage = "https://github.com/niivue/ipyniivue";
|
||||
changelog = "https://github.com/niivue/ipyniivue/releases/tag/${version}";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ bcdarwin ];
|
||||
};
|
||||
}
|
38
pkgs/development/python-modules/jupyter-ui-poll/default.nix
Normal file
38
pkgs/development/python-modules/jupyter-ui-poll/default.nix
Normal file
@ -0,0 +1,38 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, pythonOlder
|
||||
, setuptools
|
||||
, ipython
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "jupyter-ui-poll";
|
||||
version = "0.2.2";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Kirill888";
|
||||
repo = "jupyter-ui-poll";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-DWZFvzx0aNTmf1x8Rq19OT0PFRxdpKefWYFh8C116Fw";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ setuptools ];
|
||||
propagatedBuildInputs = [
|
||||
ipython
|
||||
];
|
||||
|
||||
doCheck = false; # no tests in package :(
|
||||
pythonImportsCheck = [ "jupyter_ui_poll" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Block jupyter cell execution while interacting with widgets";
|
||||
homepage = "https://github.com/Kirill888/jupyter-ui-poll";
|
||||
changelog = "https://github.com/Kirill888/jupyter-ui-poll/releases/tag/v${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ bcdarwin ];
|
||||
};
|
||||
}
|
@ -9,15 +9,16 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "kornia";
|
||||
version = "0.6.11";
|
||||
version = "0.6.12";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-APqITIt2P+16qp27dwLoAq9vY5CYpd49IWfYHTcZTSI=";
|
||||
hash = "sha256-qLJos1ivEws/jFK4j0Kp1ij9J9ZwCoHFRYXnlYxwPFY=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@ -47,6 +48,7 @@ buildPythonPackage rec {
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://kornia.github.io/kornia";
|
||||
changelog = "https://github.com/kornia/kornia/releases/tag/v${version}";
|
||||
description = "Differentiable computer vision library";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ bcdarwin ];
|
||||
|
46
pkgs/development/python-modules/pyfume/default.nix
Normal file
46
pkgs/development/python-modules/pyfume/default.nix
Normal file
@ -0,0 +1,46 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, fst-pso
|
||||
, numpy
|
||||
, pandas
|
||||
, pythonOlder
|
||||
, scipy
|
||||
, simpful
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyfume";
|
||||
version = "0.2.25";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "pyFUME";
|
||||
inherit version;
|
||||
hash = "sha256-uD1IHFyNd9yv3eyHPZ4pg6X2+rLTY5sYsQysuIXbvfA=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
fst-pso
|
||||
numpy
|
||||
pandas
|
||||
scipy
|
||||
simpful
|
||||
];
|
||||
|
||||
# Module has not test
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"pyfume"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A Python package for fuzzy model estimation";
|
||||
homepage = "https://github.com/CaroFuchs/pyFUME";
|
||||
license = with licenses; [ gpl3Only ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
49
pkgs/development/python-modules/pytest-emoji/default.nix
Normal file
49
pkgs/development/python-modules/pytest-emoji/default.nix
Normal file
@ -0,0 +1,49 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, pytest
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pytest-emoji";
|
||||
version = "0.2.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hackebrot";
|
||||
repo = "pytest-emoji";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-GuKBbIIODDnMi9YMX3zR4Jc3cbK+Zibj1ZeWvYkUY24=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
pytest
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"pytest_emoji"
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
# Test scompare CLI output
|
||||
"test_emoji_disabled_by_default_verbose"
|
||||
"test_emoji_enabled_verbose"
|
||||
"test_emoji_enabled_custom_verbose"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A pytest plugin that adds emojis to test result report";
|
||||
homepage = "https://github.com/hackebrot/pytest-emoji";
|
||||
changelog = "https://github.com/hackebrot/pytest-emoji/releases/tag/0.2.0";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
@ -1,20 +1,56 @@
|
||||
{ lib, buildPythonPackage, fetchFromGitHub, fetchpatch, poetry-core, pythonOlder
|
||||
, click, backports-cached-property, graphql-core, pygments, python-dateutil, python-multipart, typing-extensions
|
||||
, aiohttp, asgiref, chalice, django, fastapi, flask, pydantic, sanic, starlette, uvicorn
|
||||
{ lib
|
||||
, aiohttp
|
||||
, asgiref
|
||||
, backports-cached-property
|
||||
, buildPythonPackage
|
||||
, chalice
|
||||
, channels
|
||||
, click
|
||||
, daphne
|
||||
, django
|
||||
, email-validator
|
||||
, fastapi
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, flask
|
||||
, freezegun
|
||||
, graphql-core
|
||||
, libcst
|
||||
, mypy
|
||||
, poetry-core
|
||||
, pydantic
|
||||
, pygments
|
||||
, pyinstrument
|
||||
, pytest-aiohttp
|
||||
, pytest-asyncio
|
||||
, pytest-django
|
||||
, pytest-emoji
|
||||
, pytest-flask
|
||||
, pytest-snapshot
|
||||
, pytestCheckHook
|
||||
, python-dateutil
|
||||
, python-multipart
|
||||
, pythonOlder
|
||||
, rich
|
||||
, sanic
|
||||
, sanic-testing
|
||||
, starlette
|
||||
, typing-extensions
|
||||
, uvicorn
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "strawberry-graphql";
|
||||
version = "0.159.0";
|
||||
version = "0.176.0";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "strawberry-graphql";
|
||||
repo = "strawberry";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-3fyls1W2Vx0nDtp7mta/8QeKM6RRsAbw3dWOnH1/jk0=";
|
||||
hash = "sha256-e61wLFqc3HLCWUiVW3Gzbay1Oi8b7HsLT3+jPnbA4YY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@ -25,22 +61,121 @@ buildPythonPackage rec {
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace " --emoji --mypy-ini-file=mypy.ini --benchmark-disable" "" \
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
click backports-cached-property graphql-core pygments python-dateutil python-multipart typing-extensions
|
||||
aiohttp asgiref chalice django fastapi flask pydantic sanic starlette uvicorn
|
||||
graphql-core
|
||||
python-dateutil
|
||||
typing-extensions
|
||||
];
|
||||
|
||||
passthru.optional-dependencies = {
|
||||
aiohttp = [
|
||||
aiohttp
|
||||
pytest-aiohttp
|
||||
];
|
||||
asgi = [
|
||||
starlette
|
||||
python-multipart
|
||||
];
|
||||
debug = [
|
||||
rich
|
||||
libcst
|
||||
];
|
||||
debug-server = [
|
||||
click
|
||||
libcst
|
||||
pygments
|
||||
python-multipart
|
||||
rich
|
||||
starlette
|
||||
uvicorn
|
||||
];
|
||||
django = [
|
||||
django
|
||||
pytest-django
|
||||
asgiref
|
||||
];
|
||||
channels = [
|
||||
channels
|
||||
asgiref
|
||||
];
|
||||
flask = [
|
||||
flask
|
||||
pytest-flask
|
||||
];
|
||||
# opentelemetry = [
|
||||
# opentelemetry-api
|
||||
# opentelemetry-sdk
|
||||
# ];
|
||||
pydantic = [
|
||||
pydantic
|
||||
];
|
||||
sanic = [
|
||||
sanic
|
||||
];
|
||||
fastapi = [
|
||||
fastapi
|
||||
python-multipart
|
||||
];
|
||||
chalice = [
|
||||
chalice
|
||||
];
|
||||
cli = [
|
||||
click
|
||||
pygments
|
||||
rich
|
||||
libcst
|
||||
];
|
||||
# starlite = [
|
||||
# starlite
|
||||
# ];
|
||||
pyinstrument = [
|
||||
pyinstrument
|
||||
];
|
||||
};
|
||||
|
||||
nativeCheckInputs = [
|
||||
daphne
|
||||
email-validator
|
||||
freezegun
|
||||
mypy
|
||||
pytest-asyncio
|
||||
pytest-emoji
|
||||
pytest-snapshot
|
||||
pytestCheckHook
|
||||
sanic-testing
|
||||
] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
|
||||
|
||||
pythonImportsCheck = [
|
||||
"strawberry"
|
||||
];
|
||||
|
||||
disabledTestPaths = [
|
||||
"tests/benchmarks/"
|
||||
"tests/cli/"
|
||||
"tests/django/test_dataloaders.py"
|
||||
"tests/exceptions/"
|
||||
"tests/http/"
|
||||
"tests/schema/extensions/"
|
||||
"tests/schema/test_dataloaders.py"
|
||||
"tests/schema/test_lazy/"
|
||||
"tests/starlite/"
|
||||
"tests/test_dataloaders.py"
|
||||
"tests/utils/test_pretty_print.py"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A GraphQL library for Python that leverages type annotations";
|
||||
homepage = "https://strawberry.rocks";
|
||||
changelog = "https://github.com/strawberry-graphql/strawberry/blob/${version}/CHANGELOG.md";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ izorkin ];
|
||||
};
|
||||
|
@ -9,14 +9,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ytmusicapi";
|
||||
version = "0.25.1";
|
||||
version = "1.0.2";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-uc/fgDetSYaCRzff0SzfbRhs3TaKrfE2h6roWkkj8yQ=";
|
||||
hash = "sha256-95i/7dSXOL7OgqrBWy2X8EV4zLFXLzR6NQy3BN9NDhA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -22,14 +22,14 @@ with py.pkgs;
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "checkov";
|
||||
version = "2.3.209";
|
||||
version = "2.3.212";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bridgecrewio";
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-7Aj8uAO4/sy1GvG52KPdPXcV6eIjrX14bvTJvqDsWQQ=";
|
||||
hash = "sha256-5x5kZJTECCXBbPEWIWTVUxvyvS7yO572pHGab7o9nR0=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
748
pkgs/development/tools/ruff/Cargo.lock
generated
748
pkgs/development/tools/ruff/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -8,13 +8,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "ruff";
|
||||
version = "0.0.262";
|
||||
version = "0.0.263";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "charliermarsh";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-G+Cz/5dL/5kOOJ1fGGecwGOiONYdwFWOPQ5KV0W2DVA=";
|
||||
hash = "sha256-EhxevilIrcrM7wcuF39b4P4T8OpNwdyga+wAPatil8Q=";
|
||||
};
|
||||
|
||||
# We have to use importCargoLock here because `cargo vendor` currently doesn't support workspace
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "rust-script";
|
||||
version = "0.26.0";
|
||||
version = "0.27.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fornwall";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-2ZEFtpaKBhF8puYB5gqttrdxKI2zrm6wjukRM+mBeF0=";
|
||||
sha256 = "sha256-noyef+G05749WqqqCH6qyVorCR4DRZTl38ftkU66IBQ=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-HRT0PSI0x2I/zuKKDcn08cyBC8gxkC5XXRFle/Ayrkg=";
|
||||
cargoSha256 = "sha256-L5uqckG+NbatpBTejZw/Xk+OGZqsJgzHRwCTh1FJHVw=";
|
||||
|
||||
# tests require network access
|
||||
doCheck = false;
|
||||
|
23
pkgs/servers/monitoring/prometheus/cloudflare-exporter.nix
Normal file
23
pkgs/servers/monitoring/prometheus/cloudflare-exporter.nix
Normal file
@ -0,0 +1,23 @@
|
||||
{ buildGoModule, fetchFromGitHub, lib }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "cloudflare-exporter";
|
||||
version = "0.0.14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
rev = version;
|
||||
owner = "lablabs";
|
||||
repo = pname;
|
||||
sha256 = "sha256-A7JnHx9yipTwv63287BqmGrJ3yQ21NhB1z7rrHe6Ok8=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-B/+UTkoGAoJLMr+zdXXSC2CWGHx+Iu5E2qp4AA/nmHM=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Prometheus Cloudflare Exporter";
|
||||
homepage = "https://github.com/lablabs/cloudflare-exporter";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ bbigras ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "exportarr";
|
||||
version = "1.3.1";
|
||||
version = "1.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "onedr0p";
|
||||
repo = "exportarr";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-QZI3tYh2HXBDlZJWHQUAl/Yeyc/qCZGcfyFHbjCHlbU=";
|
||||
hash = "sha256-99ap7B5EfMhuSGmT/JNI+CTPv7lTdjxibC0ndYWyNoA=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-2Eb8FhbRu5M5u8HGa2bgAvZZkwHycBu8UiNKHG5/fFw=";
|
||||
@ -25,8 +25,10 @@ buildGoModule rec {
|
||||
|
||||
tags = lib.optionals stdenv.isLinux [ "netgo" ];
|
||||
|
||||
# There are no tests for this package.
|
||||
doCheck = false;
|
||||
preCheck = ''
|
||||
# Run all tests.
|
||||
unset subPackages
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "AIO Prometheus Exporter for Sonarr, Radarr or Lidarr";
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kopia";
|
||||
version = "0.12.1";
|
||||
version = "0.13.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-5zocfkNHsTFl3Sjwkr7dGnDY+4WO20F5AMgjfFulNd0=";
|
||||
sha256 = "sha256-wQZzFrrxLzJ16TOrhxBlUuz+eCdqW/PmHUTuJP1Wy9Y=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-Xmd4Q2X0cur4XGEjy1ysEEQkNqch4G+jGkPnrepgP6g=";
|
||||
vendorSha256 = "sha256-OeDgaO125y8eCQlm9Lv5RZlb1fNLTCplEQbpJ2KMVms=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
@ -5,16 +5,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "nerdfix";
|
||||
version = "0.2.1";
|
||||
version = "0.2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "loichyan";
|
||||
repo = "nerdfix";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-bohN3RXGZObDSDsggKmqKdLx37o8llTwIcpDQIbxEUo=";
|
||||
hash = "sha256-cC8BuDTYpXKAtbIylpLQKZG84N/kMp0jirqJanvEvZo=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-T5t+PvzCKfwiKQR/WWKxcoulSRhTNdiLDfoLnKO2qJ0=";
|
||||
cargoHash = "sha256-K5bZRHce71hFvw7Ipbk4nazg/Wh4I161/MTQmTZakrQ=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Nerdfix helps you to find/fix obsolete nerd font icons in your project";
|
||||
|
@ -16749,9 +16749,7 @@ with pkgs;
|
||||
|
||||
io = callPackage ../development/interpreters/io { };
|
||||
|
||||
ivy = callPackage ../development/interpreters/ivy {
|
||||
buildGoModule = buildGo118Module; # tests fail with 1.19
|
||||
};
|
||||
ivy = callPackage ../development/interpreters/ivy { };
|
||||
|
||||
j = callPackage ../development/interpreters/j {
|
||||
stdenv = clangStdenv;
|
||||
@ -25809,6 +25807,7 @@ with pkgs;
|
||||
prometheus-bird-exporter = callPackage ../servers/monitoring/prometheus/bird-exporter.nix { };
|
||||
prometheus-bitcoin-exporter = callPackage ../servers/monitoring/prometheus/bitcoin-exporter.nix { };
|
||||
prometheus-blackbox-exporter = callPackage ../servers/monitoring/prometheus/blackbox-exporter.nix { };
|
||||
prometheus-cloudflare-exporter = callPackage ../servers/monitoring/prometheus/cloudflare-exporter.nix { };
|
||||
prometheus-collectd-exporter = callPackage ../servers/monitoring/prometheus/collectd-exporter.nix { };
|
||||
prometheus-consul-exporter = callPackage ../servers/monitoring/prometheus/consul-exporter.nix { };
|
||||
prometheus-dnsmasq-exporter = callPackage ../servers/monitoring/prometheus/dnsmasq-exporter.nix { };
|
||||
@ -32360,9 +32359,7 @@ with pkgs;
|
||||
|
||||
normalize = callPackage ../applications/audio/normalize { };
|
||||
|
||||
norouter = callPackage ../tools/networking/norouter {
|
||||
buildGoModule = buildGo118Module; # tests fail with 1.19
|
||||
};
|
||||
norouter = callPackage ../tools/networking/norouter { };
|
||||
|
||||
nqptp = callPackage ../tools/networking/nqptp { };
|
||||
|
||||
|
@ -3804,6 +3804,8 @@ self: super: with self; {
|
||||
|
||||
fuzzyfinder = callPackage ../development/python-modules/fuzzyfinder { };
|
||||
|
||||
fuzzytm = callPackage ../development/python-modules/fuzzytm { };
|
||||
|
||||
fuzzywuzzy = callPackage ../development/python-modules/fuzzywuzzy { };
|
||||
|
||||
fvs = callPackage ../development/python-modules/fvs { };
|
||||
@ -4883,6 +4885,8 @@ self: super: with self; {
|
||||
|
||||
ipydatawidgets = callPackage ../development/python-modules/ipydatawidgets { };
|
||||
|
||||
ipyniivue = callPackage ../development/python-modules/ipyniivue { };
|
||||
|
||||
ipykernel = callPackage ../development/python-modules/ipykernel { };
|
||||
|
||||
ipympl = callPackage ../development/python-modules/ipympl { };
|
||||
@ -5195,6 +5199,8 @@ self: super: with self; {
|
||||
|
||||
jupyter-server-ydoc = callPackage ../development/python-modules/jupyter-server-ydoc { };
|
||||
|
||||
jupyter-ui-poll = callPackage ../development/python-modules/jupyter-ui-poll { };
|
||||
|
||||
jupyter-ydoc = callPackage ../development/python-modules/jupyter-ydoc { };
|
||||
|
||||
jupyterhub = callPackage ../development/python-modules/jupyterhub { };
|
||||
@ -8359,6 +8365,8 @@ self: super: with self; {
|
||||
|
||||
pyfttt = callPackage ../development/python-modules/pyfttt { };
|
||||
|
||||
pyfume = callPackage ../development/python-modules/pyfume { };
|
||||
|
||||
pyfuse3 = callPackage ../development/python-modules/pyfuse3 { };
|
||||
|
||||
pyfxa = callPackage ../development/python-modules/pyfxa { };
|
||||
@ -9332,6 +9340,8 @@ self: super: with self; {
|
||||
|
||||
pytest-dotenv = callPackage ../development/python-modules/pytest-dotenv { };
|
||||
|
||||
pytest-emoji = callPackage ../development/python-modules/pytest-emoji { };
|
||||
|
||||
pytest-env = callPackage ../development/python-modules/pytest-env { };
|
||||
|
||||
pytest-error-for-skips = callPackage ../development/python-modules/pytest-error-for-skips { };
|
||||
|
Loading…
Reference in New Issue
Block a user