Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 pytestCheckHook,
7
8 setuptools,
9 wheel,
10 setuptools-scm,
11
12 # for tests
13 base58,
14
15 typing-extensions,
16 typing-validation,
17}:
18
19buildPythonPackage rec {
20 pname = "bases";
21 version = "0.3.0";
22 pyproject = true;
23
24 src = fetchFromGitHub {
25 owner = "hashberg-io";
26 repo = "bases";
27 tag = "v${version}";
28 hash = "sha256-CRXVxT9uYud1CKRcdRAD0OX5sTAttrUO9E4BaavTe6A=";
29 };
30
31 build-system = [
32 setuptools
33 wheel
34 setuptools-scm
35 ];
36
37 dependencies = [
38 typing-extensions
39 typing-validation
40 ];
41
42 nativeCheckInputs = [
43 pytestCheckHook
44 base58
45 ];
46
47 pythonImportsCheck = [
48 "bases"
49 "bases.alphabet"
50 "bases.alphabet.abstract"
51 "bases.alphabet.range_alphabet"
52 "bases.alphabet.string_alphabet"
53 "bases.encoding"
54 "bases.encoding.base"
55 "bases.encoding.block"
56 "bases.encoding.errors"
57 "bases.encoding.fixchar"
58 "bases.encoding.simple"
59 "bases.encoding.zeropad"
60 "bases.random"
61 ];
62
63 meta = {
64 description = "Python library for general Base-N encodings";
65 homepage = "https://github.com/hashberg-io/bases";
66 changelog = "https://github.com/hashberg-io/bases/releases/tag/v${version}";
67 license = lib.licenses.mit;
68 maintainers = [ lib.maintainers.vizid ];
69 };
70}