1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pytestCheckHook,
6 setuptools,
7 haversine,
8 medallion,
9 pytz,
10 rapidfuzz,
11 requests,
12 simplejson,
13 stix2-patterns,
14 taxii2-client,
15}:
16
17buildPythonPackage rec {
18 pname = "stix2";
19 version = "3.0.1";
20 pyproject = true;
21
22 src = fetchFromGitHub {
23 owner = "oasis-open";
24 repo = "cti-python-stix2";
25 tag = "v${version}";
26 hash = "sha256-1bILZUZgPOWmFWRu4p/fmgi4QPEE1lFQH9mxoWd/saI=";
27 };
28
29 build-system = [ setuptools ];
30
31 dependencies = [
32 pytz
33 requests
34 simplejson
35 stix2-patterns
36 ];
37
38 nativeCheckInputs = [
39 pytestCheckHook
40 haversine
41 medallion
42 rapidfuzz
43 taxii2-client
44 ];
45
46 disabledTests = [
47 # flaky tests
48 "test_graph_equivalence_with_filesystem_source"
49 "test_graph_similarity_with_filesystem_source"
50 "test_object_similarity_prop_scores"
51 ];
52
53 pythonImportsCheck = [ "stix2" ];
54
55 meta = with lib; {
56 description = "Produce and consume STIX 2 JSON content";
57 homepage = "https://stix2.readthedocs.io/en/latest/";
58 changelog = "https://github.com/oasis-open/cti-python-stix2/blob/v${version}/CHANGELOG";
59 license = licenses.bsd3;
60 maintainers = with maintainers; [ PapayaJackal ];
61 };
62}