Files
nixpkgs/pkgs/development/python-modules/gipc/default.nix
T
Ihar Hrachyshka 567e8dfd8e treewide: clean up 'meta = with' pattern
This commit was created by a combination of scripts and tools:
- an ast-grep script to prefix things in meta with `lib.`,
- a modified nixf-diagnose / nixf combination to remove unused `with
lib;`, and
- regular nixfmt.

Co-authored-by: Wolfgang Walther <walther@technowledgy.de>
2025-12-10 18:09:49 +01:00

72 lines
1.7 KiB
Nix

{
lib,
buildPythonPackage,
fetchFromGitHub,
gevent,
pytestCheckHook,
pythonOlder,
setuptools,
}:
buildPythonPackage rec {
pname = "gipc";
version = "1.6.0";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "jgehrcke";
repo = "gipc";
tag = version;
hash = "sha256-eYE7A1VDJ0NSshvdJKxPwGyVdW6BnyWoRSR1i1iTr8Y=";
};
postPatch = ''
substituteInPlace setup.py \
--replace-fail "gevent>=1.5,<=23.9.1" "gevent>=1.5"
'';
build-system = [ setuptools ];
dependencies = [ gevent ];
nativeCheckInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "gipc" ];
disabledTests = [
# AttributeError
"test_all_handles_length"
"test_child"
"test_closeread"
"test_closewrite"
"test_early_readchild_exit"
"test_handlecount"
"test_handler"
"test_onewriter"
"test_readclose"
"test_singlemsg"
"test_twochannels_singlemsg"
"test_twoclose"
"test_twowriters"
"test_write_closewrite_read"
];
meta = {
description = "Gevent-cooperative child processes and IPC";
longDescription = ''
Usage of Python's multiprocessing package in a gevent-powered
application may raise problems and most likely breaks the application
in various subtle ways. gipc (pronunciation "gipsy") is developed with
the motivation to solve many of these issues transparently. With gipc,
multiprocessing. Process-based child processes can safely be created
anywhere within your gevent-powered application.
'';
homepage = "http://gehrcke.de/gipc";
changelog = "https://github.com/jgehrcke/gipc/blob/${version}/CHANGELOG.rst";
license = lib.licenses.mit;
maintainers = [ ];
};
}