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}