1{ 2 lib, 3 buildPythonPackage, 4 fetchPypi, 5 6 # build-system 7 pdm-backend, 8 9 # dependencies 10 grpclib, 11 python-dateutil, 12 typing-extensions, 13 14 # optional dependencies 15 jinja2, 16 ruff, 17 betterproto-rust-codec, 18}: 19 20buildPythonPackage rec { 21 pname = "betterproto-fw"; 22 version = "2.0.3"; 23 pyproject = true; 24 25 # Not available on Github 26 src = fetchPypi { 27 pname = "betterproto_fw"; 28 inherit version; 29 hash = "sha256-ut5GchUiTygHhC2hj+gSWKCoVnZrrV8KIKFHTFzba5M="; 30 }; 31 32 build-system = [ 33 pdm-backend 34 ]; 35 36 dependencies = [ 37 grpclib 38 python-dateutil 39 typing-extensions 40 ]; 41 42 optional-dependencies = { 43 compiler = [ 44 jinja2 45 ruff 46 ]; 47 rust-codec = [ 48 betterproto-rust-codec 49 ]; 50 }; 51 52 doCheck = false; # no tests supplied 53 54 pythonImportsCheck = [ 55 "betterproto" 56 ]; 57 58 meta = { 59 description = "Fork of betterproto used in fireworks-ai"; 60 homepage = "https://pypi.org/project/betterproto-fw/"; 61 license = lib.licenses.mit; 62 maintainers = [ lib.maintainers.sarahec ]; 63 }; 64}