From 2392fafba5c03c6b1beb4ecd526baea8b62ca04d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Spie=C3=9F?= Date: Thu, 22 Feb 2024 18:31:47 +0000 Subject: [PATCH] Update and extend tests --- .../scancode/32.0.8/crate-file-summary.json | 5335 +++++++ test/fixtures/scancode/32.0.8/gem.json | 5813 ++++++++ test/fixtures/scancode/32.0.8/git.json | 1213 ++ test/fixtures/scancode/32.0.8/python.json | 12376 ++++++++++++++++ test/providers/summary/scancode-new.js | 47 +- 5 files changed, 24764 insertions(+), 20 deletions(-) create mode 100644 test/fixtures/scancode/32.0.8/crate-file-summary.json create mode 100644 test/fixtures/scancode/32.0.8/gem.json create mode 100644 test/fixtures/scancode/32.0.8/git.json create mode 100644 test/fixtures/scancode/32.0.8/python.json diff --git a/test/fixtures/scancode/32.0.8/crate-file-summary.json b/test/fixtures/scancode/32.0.8/crate-file-summary.json new file mode 100644 index 000000000..d793e47c0 --- /dev/null +++ b/test/fixtures/scancode/32.0.8/crate-file-summary.json @@ -0,0 +1,5335 @@ +{ + "_metadata": { + "type": "scancode", + "url": "cd:/crate/cratesio/-/rand/0.8.2", + "fetchedAt": "2024-02-21T17:17:50.142Z", + "links": { + "self": { + "href": "urn:crate:cratesio:-:rand:revision:0.8.2:tool:scancode:32.2.8", + "type": "resource" + }, + "siblings": { + "href": "urn:crate:cratesio:-:rand:revision:0.8.2:tool:scancode", + "type": "collection" + } + }, + "schemaVersion": "32.2.8", + "toolVersion": "32.0.8", + "contentType": "application/json", + "releaseDate": "2021-01-13T09:55:20.922296+00:00", + "processedAt": "2024-02-21T17:18:06.804Z" + }, + "content": { + "headers": [ + { + "tool_name": "scancode-toolkit", + "tool_version": "32.0.8", + "options": { + "input": [ + "/tmp/cd-iY4zXK/crate/rand-0.8.2" + ], + "--classify": true, + "--copyright": true, + "--email": true, + "--generated": true, + "--info": true, + "--json-pp": "/tmp/cd-9oOmFS", + "--license": true, + "--license-clarity-score": true, + "--license-references": true, + "--license-text": true, + "--license-text-diagnostics": true, + "--package": true, + "--processes": "2", + "--strip-root": true, + "--summary": true, + "--tallies": true, + "--tallies-key-files": true, + "--timeout": "1000.0", + "--url": true + }, + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "start_timestamp": "2024-02-21T171750.745525", + "end_timestamp": "2024-02-21T171806.206802", + "output_format_version": "3.0.0", + "duration": 15.461287498474121, + "message": null, + "errors": [], + "warnings": [], + "extra_data": { + "system_environment": { + "operating_system": "linux", + "cpu_architecture": "64", + "platform": "Linux-6.2.0-1019-azure-x86_64-with-glibc2.31", + "platform_version": "#19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024", + "python_version": "3.9.2 (default, Feb 28 2021, 17:03:44) \n[GCC 10.2.1 20210110]" + }, + "spdx_license_list_version": "3.21", + "files_count": 33 + } + } + ], + "summary": { + "declared_license_expression": "apache-2.0 AND (apache-2.0 OR mit)", + "license_clarity_score": { + "score": 100, + "declared_license": true, + "identification_precision": true, + "has_license_text": true, + "declared_copyrights": true, + "conflicting_license_categories": false, + "ambiguous_compound_licensing": false + }, + "declared_holder": "The Rust Project", + "primary_language": "Rust", + "other_license_expressions": [ + { + "value": "apache-2.0 AND mit", + "count": 24 + }, + { + "value": null, + "count": 3 + }, + { + "value": "mit", + "count": 2 + }, + { + "value": "mit OR apache-2.0", + "count": 2 + }, + { + "value": "apache-2.0", + "count": 1 + } + ], + "other_holders": [ + { + "value": null, + "count": 26 + } + ], + "other_languages": [ + { + "value": "verilog", + "count": 1 + } + ] + }, + "packages": [ + { + "type": "cargo", + "namespace": null, + "name": "rand", + "version": "0.8.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "Random number generators and other randomness functionality.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "The Rand Project Developers", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": "The Rust Project Developers", + "email": null, + "url": null + } + ], + "keywords": [], + "homepage_url": "https://rust-random.github.io/book", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "https://github.com/rust-random/rand", + "copyright": null, + "holder": null, + "declared_license_expression": "mit OR apache-2.0", + "declared_license_expression_spdx": "MIT OR Apache-2.0", + "license_detections": [ + { + "license_expression": "mit OR apache-2.0", + "matches": [ + { + "score": 100, + "start_line": 1, + "end_line": 1, + "matched_length": 5, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_15.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_15.RULE", + "matched_text": "MIT OR Apache-2.0" + } + ], + "identifier": "mit_or_apache_2_0-480eec53-1a80-0150-7c7e-39cf79c9f3a8" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "MIT OR Apache-2.0", + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://crates.io/crates/rand", + "repository_download_url": "https://crates.io/api/v1/crates/rand/0.8.2/download", + "api_data_url": "https://crates.io/api/v1/crates/rand", + "package_uid": "pkg:cargo/rand@0.8.2?uuid=5a963d7a-936f-4161-acb9-726d2d79bc7e", + "datafile_paths": [ + "Cargo.toml" + ], + "datasource_ids": [ + "cargo_toml" + ], + "purl": "pkg:cargo/rand@0.8.2" + } + ], + "dependencies": [ + { + "purl": "pkg:cargo/bincode@1.3.1", + "extracted_requirement": "1.3.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/bincode@1.3.1?uuid=3287e87f-2d53-4329-abec-7e3e123e9cb3", + "for_package_uid": "pkg:cargo/rand@0.8.2?uuid=5a963d7a-936f-4161-acb9-726d2d79bc7e", + "datafile_path": "Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/byteorder@1.3.4", + "extracted_requirement": "1.3.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/byteorder@1.3.4?uuid=ed09b4a3-a2a6-49a7-a14b-886414664b45", + "for_package_uid": "pkg:cargo/rand@0.8.2?uuid=5a963d7a-936f-4161-acb9-726d2d79bc7e", + "datafile_path": "Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/cfg-if@0.1.10", + "extracted_requirement": "0.1.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/cfg-if@0.1.10?uuid=5f030e9a-fc74-4689-84e5-7941dd0267e8", + "for_package_uid": "pkg:cargo/rand@0.8.2?uuid=5a963d7a-936f-4161-acb9-726d2d79bc7e", + "datafile_path": "Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/getrandom@0.2.0", + "extracted_requirement": "0.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/getrandom@0.2.0?uuid=1e67cd55-f8c3-47a6-80d8-8e71c68f30fb", + "for_package_uid": "pkg:cargo/rand@0.8.2?uuid=5a963d7a-936f-4161-acb9-726d2d79bc7e", + "datafile_path": "Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/libc@0.2.81", + "extracted_requirement": "0.2.81", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/libc@0.2.81?uuid=39cd8f02-d600-4eba-b178-3ee7ff8e7c31", + "for_package_uid": "pkg:cargo/rand@0.8.2?uuid=5a963d7a-936f-4161-acb9-726d2d79bc7e", + "datafile_path": "Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/libm@0.1.4", + "extracted_requirement": "0.1.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/libm@0.1.4?uuid=871655ce-0988-4877-b65e-07663f7c91fe", + "for_package_uid": "pkg:cargo/rand@0.8.2?uuid=5a963d7a-936f-4161-acb9-726d2d79bc7e", + "datafile_path": "Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/log@0.4.11", + "extracted_requirement": "0.4.11", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/log@0.4.11?uuid=5de0f5da-e3f0-4779-a667-667b432818e1", + "for_package_uid": "pkg:cargo/rand@0.8.2?uuid=5a963d7a-936f-4161-acb9-726d2d79bc7e", + "datafile_path": "Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/packed_simd_2@0.3.4", + "extracted_requirement": "0.3.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/packed_simd_2@0.3.4?uuid=4d85e98d-6808-4dd5-8368-2b206a4de341", + "for_package_uid": "pkg:cargo/rand@0.8.2?uuid=5a963d7a-936f-4161-acb9-726d2d79bc7e", + "datafile_path": "Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/ppv-lite86@0.2.10", + "extracted_requirement": "0.2.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/ppv-lite86@0.2.10?uuid=3468824e-693f-40a6-bc02-38129f3b5adb", + "for_package_uid": "pkg:cargo/rand@0.8.2?uuid=5a963d7a-936f-4161-acb9-726d2d79bc7e", + "datafile_path": "Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/proc-macro2@1.0.24", + "extracted_requirement": "1.0.24", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/proc-macro2@1.0.24?uuid=eac8c951-8a1d-4a80-8996-1c29f27366aa", + "for_package_uid": "pkg:cargo/rand@0.8.2?uuid=5a963d7a-936f-4161-acb9-726d2d79bc7e", + "datafile_path": "Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/quote@1.0.7", + "extracted_requirement": "1.0.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/quote@1.0.7?uuid=8aae7c29-0842-4327-a205-2b8f8a5fc3df", + "for_package_uid": "pkg:cargo/rand@0.8.2?uuid=5a963d7a-936f-4161-acb9-726d2d79bc7e", + "datafile_path": "Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/rand@0.8.2", + "extracted_requirement": "0.8.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/rand@0.8.2?uuid=33ca4b65-3d63-4234-be3b-e1ffea0aeb81", + "for_package_uid": "pkg:cargo/rand@0.8.2?uuid=5a963d7a-936f-4161-acb9-726d2d79bc7e", + "datafile_path": "Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/rand_chacha@0.3.0", + "extracted_requirement": "0.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/rand_chacha@0.3.0?uuid=3d40564d-ac88-4858-9a8e-9d91c043acf3", + "for_package_uid": "pkg:cargo/rand@0.8.2?uuid=5a963d7a-936f-4161-acb9-726d2d79bc7e", + "datafile_path": "Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/rand_core@0.6.1", + "extracted_requirement": "0.6.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/rand_core@0.6.1?uuid=2be388a9-fa80-49e0-8f19-ec9ca9ce5cd0", + "for_package_uid": "pkg:cargo/rand@0.8.2?uuid=5a963d7a-936f-4161-acb9-726d2d79bc7e", + "datafile_path": "Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/rand_hc@0.3.0", + "extracted_requirement": "0.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/rand_hc@0.3.0?uuid=f81af17a-bf41-4cfe-9fe6-20786d209d37", + "for_package_uid": "pkg:cargo/rand@0.8.2?uuid=5a963d7a-936f-4161-acb9-726d2d79bc7e", + "datafile_path": "Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/rand_pcg@0.3.0", + "extracted_requirement": "0.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/rand_pcg@0.3.0?uuid=2cbcfafa-5725-4415-a147-b3834de029f4", + "for_package_uid": "pkg:cargo/rand@0.8.2?uuid=5a963d7a-936f-4161-acb9-726d2d79bc7e", + "datafile_path": "Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/serde@1.0.118", + "extracted_requirement": "1.0.118", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/serde@1.0.118?uuid=3151bcfb-762c-4b80-a0d1-28e98073cc79", + "for_package_uid": "pkg:cargo/rand@0.8.2?uuid=5a963d7a-936f-4161-acb9-726d2d79bc7e", + "datafile_path": "Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/serde_derive@1.0.118", + "extracted_requirement": "1.0.118", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/serde_derive@1.0.118?uuid=b50d5899-1051-4ded-a80a-95b2d1b28a5b", + "for_package_uid": "pkg:cargo/rand@0.8.2?uuid=5a963d7a-936f-4161-acb9-726d2d79bc7e", + "datafile_path": "Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/syn@1.0.54", + "extracted_requirement": "1.0.54", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/syn@1.0.54?uuid=a62a8d9d-c87a-4ae1-9f25-e6f3c16012af", + "for_package_uid": "pkg:cargo/rand@0.8.2?uuid=5a963d7a-936f-4161-acb9-726d2d79bc7e", + "datafile_path": "Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/unicode-xid@0.2.1", + "extracted_requirement": "0.2.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/unicode-xid@0.2.1?uuid=1cfd37c5-081b-419d-b87a-249c9f9a6877", + "for_package_uid": "pkg:cargo/rand@0.8.2?uuid=5a963d7a-936f-4161-acb9-726d2d79bc7e", + "datafile_path": "Cargo.lock", + "datasource_id": "cargo_lock" + }, + { + "purl": "pkg:cargo/wasi@0.9.0%2Bwasi-snapshot-preview1", + "extracted_requirement": "0.9.0+wasi-snapshot-preview1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/wasi@0.9.0%2Bwasi-snapshot-preview1?uuid=8070aab0-fd27-410c-a6c6-a8c90607c41f", + "for_package_uid": "pkg:cargo/rand@0.8.2?uuid=5a963d7a-936f-4161-acb9-726d2d79bc7e", + "datafile_path": "Cargo.lock", + "datasource_id": "cargo_lock" + } + ], + "license_detections": [ + { + "identifier": "apache_2_0-b54d1ef7-0765-1d98-075a-d34f90ebae28", + "license_expression": "apache-2.0", + "detection_count": 2 + }, + { + "identifier": "apache_2_0_and__apache_2_0_or_mit-7ff6dd9d-b5e8-3fa4-dd61-c5a634c9b300", + "license_expression": "apache-2.0 AND (apache-2.0 OR mit)", + "detection_count": 2 + }, + { + "identifier": "apache_2_0_and_mit-1d7101fc-0742-167f-2149-9c490d9cea0a", + "license_expression": "apache-2.0 AND mit", + "detection_count": 24 + }, + { + "identifier": "mit-a9138d4e-bc0e-0a20-76fd-237047e6d41c", + "license_expression": "mit", + "detection_count": 2 + }, + { + "identifier": "mit-cacd5c0c-204a-85c2-affc-e4c125b2492a", + "license_expression": "mit", + "detection_count": 2 + }, + { + "identifier": "mit_or_apache_2_0-719f8427-422e-8023-c20e-9f8dd0af13b9", + "license_expression": "mit OR apache-2.0", + "detection_count": 2 + }, + { + "identifier": "mit_or_apache_2_0-480eec53-1a80-0150-7c7e-39cf79c9f3a8", + "license_expression": "mit OR apache-2.0", + "detection_count": 1 + } + ], + "tallies": { + "detected_license_expression": [ + { + "value": "apache-2.0 AND mit", + "count": 24 + }, + { + "value": null, + "count": 3 + }, + { + "value": "mit", + "count": 2 + }, + { + "value": "mit OR apache-2.0", + "count": 2 + }, + { + "value": "apache-2.0", + "count": 1 + }, + { + "value": "apache-2.0 AND (apache-2.0 OR mit)", + "count": 1 + } + ], + "copyrights": [ + { + "value": null, + "count": 8 + }, + { + "value": "Copyright (c) The Rust Project", + "count": 7 + } + ], + "holders": [ + { + "value": null, + "count": 26 + }, + { + "value": "The Rust Project", + "count": 7 + } + ], + "authors": [ + { + "value": null, + "count": 31 + }, + { + "value": "The Rand Project Developers The Rust Project Developers", + "count": 2 + } + ], + "programming_language": [ + { + "value": "Rust", + "count": 24 + }, + { + "value": "verilog", + "count": 1 + } + ] + }, + "tallies_of_key_files": { + "detected_license_expression": [ + { + "value": "mit", + "count": 2 + }, + { + "value": "apache-2.0", + "count": 1 + }, + { + "value": "apache-2.0 AND (apache-2.0 OR mit)", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) The Rust Project", + "count": 1 + } + ], + "holders": [ + { + "value": "The Rust Project", + "count": 1 + } + ], + "authors": [], + "programming_language": [ + { + "value": "verilog", + "count": 1 + } + ] + }, + "license_references": [ + { + "key": "apache-2.0", + "language": "en", + "short_name": "Apache 2.0", + "name": "Apache License 2.0", + "category": "Permissive", + "owner": "Apache Software Foundation", + "homepage_url": "http://www.apache.org/licenses/", + "notes": "Per SPDX.org, this version was released January 2004 This license is OSI\ncertified\n", + "is_builtin": true, + "is_exception": false, + "is_unknown": false, + "is_generic": false, + "spdx_license_key": "Apache-2.0", + "other_spdx_license_keys": [ + "LicenseRef-Apache", + "LicenseRef-Apache-2.0" + ], + "osi_license_key": "Apache-2.0", + "text_urls": [ + "http://www.apache.org/licenses/LICENSE-2.0" + ], + "osi_url": "http://opensource.org/licenses/apache2.0.php", + "faq_url": "http://www.apache.org/foundation/licence-FAQ.html", + "other_urls": [ + "http://www.opensource.org/licenses/Apache-2.0", + "https://opensource.org/licenses/Apache-2.0", + "https://www.apache.org/licenses/LICENSE-2.0" + ], + "key_aliases": [], + "minimum_coverage": 0, + "standard_notice": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [ + "http://www.apache.org/licenses/", + "http://www.apache.org/licenses/LICENSE-2.0" + ], + "ignorable_emails": [], + "text": " Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n \n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n \n 1. Definitions.\n \n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n \n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n \n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n \n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n \n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n \n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n \n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n \n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n \n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n \n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n \n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n \n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n \n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n \n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n \n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n \n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n \n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n \n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n \n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n \n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n \n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n \n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n \n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n \n END OF TERMS AND CONDITIONS\n \n APPENDIX: How to apply the Apache License to your work.\n \n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n \n Copyright [yyyy] [name of copyright owner]\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.", + "scancode_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.LICENSE", + "licensedb_url": "https://scancode-licensedb.aboutcode.org/apache-2.0", + "spdx_url": "https://spdx.org/licenses/Apache-2.0" + }, + { + "key": "mit", + "language": "en", + "short_name": "MIT License", + "name": "MIT License", + "category": "Permissive", + "owner": "MIT", + "homepage_url": "http://opensource.org/licenses/mit-license.php", + "notes": "Per SPDX.org, this license is OSI certified.", + "is_builtin": true, + "is_exception": false, + "is_unknown": false, + "is_generic": false, + "spdx_license_key": "MIT", + "other_spdx_license_keys": [ + "LicenseRef-MIT-Bootstrap", + "LicenseRef-MIT-Discord", + "LicenseRef-MIT-TC", + "LicenseRef-MIT-Diehl" + ], + "osi_license_key": null, + "text_urls": [ + "http://opensource.org/licenses/mit-license.php" + ], + "osi_url": "http://www.opensource.org/licenses/MIT", + "faq_url": "https://ieeexplore.ieee.org/document/9263265", + "other_urls": [ + "https://opensource.com/article/18/3/patent-grant-mit-license", + "https://opensource.com/article/19/4/history-mit-license", + "https://opensource.org/licenses/MIT" + ], + "key_aliases": [], + "minimum_coverage": 0, + "standard_notice": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "Permission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.", + "scancode_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "licensedb_url": "https://scancode-licensedb.aboutcode.org/mit", + "spdx_url": "https://spdx.org/licenses/MIT" + } + ], + "license_rule_references": [ + { + "license_expression": "apache-2.0", + "identifier": "apache-2.0_1060.RULE", + "language": "en", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1060.RULE", + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": false, + "is_synthetic": false, + "length": 48, + "relevance": 100, + "minimum_coverage": 0, + "referenced_filenames": [], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "Copyrights in the project are retained by their contributors. No\ncopyright assignment is required to contribute to the project.\n\nFor full authorship information, see the version control history.\n\nExcept as otherwise noted (below and/or in individual files), is\n{{licensed under the Apache License, Version 2.0}} ." + }, + { + "license_expression": "apache-2.0", + "identifier": "apache-2.0_255.RULE", + "language": "en", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "is_license_text": true, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": false, + "is_synthetic": false, + "length": 1584, + "relevance": 100, + "minimum_coverage": 0, + "referenced_filenames": [], + "notes": "uses https instead of http", + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [ + "https://www.apache.org/licenses/", + "https://www.apache.org/licenses/LICENSE-2.0" + ], + "ignorable_emails": [], + "text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright [yyyy] [name of copyright owner]\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n https://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License." + }, + { + "license_expression": "apache-2.0 OR mit", + "identifier": "apache-2.0_or_mit_47.RULE", + "language": "en", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_47.RULE", + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": false, + "is_synthetic": false, + "length": 45, + "relevance": 100, + "minimum_coverage": 0, + "referenced_filenames": [], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [ + "http://opensource.org/licenses/MIT", + "http://www.apache.org/licenses/LICENSE-2.0" + ], + "ignorable_emails": [], + "text": "Except as otherwise noted (below and/or in individual files), is\nlicensed under the {{Apache License, Version 2.0}} or\n or the {{MIT license}}\n or , {{at your option.}}" + }, + { + "license_expression": "mit", + "identifier": "mit.LICENSE", + "language": "en", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "is_license_text": true, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": true, + "is_synthetic": false, + "length": 161, + "relevance": 100, + "minimum_coverage": 0, + "referenced_filenames": [], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "Permission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." + }, + { + "license_expression": "mit", + "identifier": "mit_154.RULE", + "language": "en", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_154.RULE", + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": true, + "is_builtin": true, + "is_from_license": false, + "is_synthetic": false, + "length": 4, + "relevance": 100, + "minimum_coverage": 100, + "referenced_filenames": [], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "License\nMIT License (MIT)" + }, + { + "license_expression": "mit OR apache-2.0", + "identifier": "mit_or_apache-2.0_14.RULE", + "language": "en", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_14.RULE", + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": true, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": false, + "is_synthetic": false, + "length": 6, + "relevance": 100, + "minimum_coverage": 80, + "referenced_filenames": [], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "license = \"MIT OR Apache-2.0\"" + }, + { + "license_expression": "mit OR apache-2.0", + "identifier": "mit_or_apache-2.0_15.RULE", + "language": "en", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_15.RULE", + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": true, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": false, + "is_synthetic": false, + "length": 5, + "relevance": 100, + "minimum_coverage": 80, + "referenced_filenames": [], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "\"MIT OR Apache-2.0\"" + }, + { + "license_expression": "mit OR apache-2.0", + "identifier": "mit_or_apache-2.0_18.RULE", + "language": "en", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_18.RULE", + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": false, + "is_synthetic": false, + "length": 48, + "relevance": 100, + "minimum_coverage": 80, + "referenced_filenames": [ + "LICENSE-APACHE", + "LICENSE-MIT" + ], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [ + "http://opensource.org/licenses/MIT", + "https://www.apache.org/licenses/LICENSE-2.0" + ], + "ignorable_emails": [], + "text": "// Licensed under the Apache License, Version 2.0 or the MIT license\n// , at your\n// option. This file may not be copied, modified, or distributed\n// except according to those terms." + }, + { + "license_expression": "mit OR apache-2.0", + "identifier": "mit_or_apache-2.0_9.RULE", + "language": "en", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_9.RULE", + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": false, + "is_synthetic": false, + "length": 26, + "relevance": 100, + "minimum_coverage": 50, + "referenced_filenames": [ + "LICENSE-MIT", + "LICENSE" + ], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "License\n\nThis work is dual-licensed and distributed under the (1) MIT License and (2) Apache License, Version 2.0. Please see LICENSE-MIT and LICENSE." + } + ], + "files": [ + { + "path": ".cargo_vcs_info.json", + "type": "file", + "name": ".cargo_vcs_info.json", + "base_name": ".cargo_vcs_info", + "extension": ".json", + "size": 74, + "date": "1970-01-01", + "sha1": "67ec05fbf50a1d3c5af3f9993b34bee57ea2007a", + "md5": "24364e39cd154a65c88aed01aac12025", + "sha256": "faf3494b0392e5e66fcb9fb4862932a33f9ed50f442c66d99cfd9e4f6f3a8bf9", + "mime_type": "application/json", + "file_type": "JSON data", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "Cargo.lock", + "type": "file", + "name": "Cargo.lock", + "base_name": "Cargo", + "extension": ".lock", + "size": 4657, + "date": "1970-01-01", + "sha1": "f626c32dc7e928d7263770b74accd8a200da2d97", + "md5": "6e7b9d6f6c4d0dba53be5c922d25b12c", + "sha256": "a76d6c9de728c3ec2e30bbc917cca73ba4e43826052ab41718cc90ddd281c2b8", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [ + { + "type": "cargo", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": "(apache-2.0 AND (apache-2.0 OR mit)) AND apache-2.0 AND mit", + "declared_license_expression_spdx": "(Apache-2.0 AND (Apache-2.0 OR MIT)) AND Apache-2.0 AND MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 AND (apache-2.0 OR mit)", + "matches": [ + { + "score": 94.12, + "start_line": 1, + "end_line": 7, + "matched_length": 48, + "match_coverage": 100, + "matcher": "3-seq", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_1060.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1060.RULE", + "matched_text": "Copyrights in the [Rand] project are retained by their contributors. No\ncopyright assignment is required to contribute to the [Rand] project.\n\nFor full authorship information, see the version control history.\n\nExcept as otherwise noted (below and/or in individual files), [Rand] is\nlicensed under the Apache License, Version 2.0 or\n or the MIT license\n or , at your option." + } + ], + "identifier": "apache_2_0_and__apache_2_0_or_mit-7ff6dd9d-b5e8-3fa4-dd61-c5a634c9b300" + }, + { + "license_expression": "apache-2.0", + "matches": [ + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + } + ], + "identifier": "apache_2_0-b54d1ef7-0765-1d98-075a-d34f90ebae28" + }, + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "mit-cacd5c0c-204a-85c2-affc-e4c125b2492a" + }, + { + "license_expression": "mit", + "matches": [ + { + "score": 57.69, + "start_line": 142, + "end_line": 147, + "matched_length": 15, + "match_coverage": 57.69, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_9.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_9.RULE", + "matched_text": "License\n\n[Rand] [is] distributed under the [terms] [of] [both] [the] MIT license and [the]\nApache License (Version 2.0).\n\nSee [LICENSE-[APACHE]](LICENSE-" + }, + { + "score": 100, + "start_line": 147, + "end_line": 147, + "matched_length": 4, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_154.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_154.RULE", + "matched_text": "LICENSE-MIT](LICENSE-MIT)," + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "mit-a9138d4e-bc0e-0a20-76fd-237047e6d41c", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:cargo/bincode@1.3.1", + "extracted_requirement": "1.3.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/byteorder@1.3.4", + "extracted_requirement": "1.3.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/cfg-if@0.1.10", + "extracted_requirement": "0.1.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/getrandom@0.2.0", + "extracted_requirement": "0.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/libc@0.2.81", + "extracted_requirement": "0.2.81", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/libm@0.1.4", + "extracted_requirement": "0.1.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/log@0.4.11", + "extracted_requirement": "0.4.11", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/packed_simd_2@0.3.4", + "extracted_requirement": "0.3.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/ppv-lite86@0.2.10", + "extracted_requirement": "0.2.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/proc-macro2@1.0.24", + "extracted_requirement": "1.0.24", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/quote@1.0.7", + "extracted_requirement": "1.0.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/rand@0.8.2", + "extracted_requirement": "0.8.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/rand_chacha@0.3.0", + "extracted_requirement": "0.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/rand_core@0.6.1", + "extracted_requirement": "0.6.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/rand_hc@0.3.0", + "extracted_requirement": "0.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/rand_pcg@0.3.0", + "extracted_requirement": "0.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/serde@1.0.118", + "extracted_requirement": "1.0.118", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/serde_derive@1.0.118", + "extracted_requirement": "1.0.118", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/syn@1.0.54", + "extracted_requirement": "1.0.54", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/unicode-xid@0.2.1", + "extracted_requirement": "0.2.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/wasi@0.9.0%2Bwasi-snapshot-preview1", + "extracted_requirement": "0.9.0+wasi-snapshot-preview1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cargo_lock", + "purl": null + } + ], + "for_packages": [ + "pkg:cargo/rand@0.8.2?uuid=5a963d7a-936f-4161-acb9-726d2d79bc7e" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://github.com/rust-lang/crates.io-index", + "start_line": 6, + "end_line": 6 + } + ], + "is_generated": true, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "Cargo.toml", + "type": "file", + "name": "Cargo.toml", + "base_name": "Cargo", + "extension": ".toml", + "size": 2284, + "date": "1970-01-01", + "sha1": "648c1a9daf9b44fb2dacb988143b6cb629b0b76c", + "md5": "d7a4c5c968441212230ee7f41476ab00", + "sha256": "ad3b8114bb20413836d874fb0d68e186d2f58d2330e45277574ccec2a5a00af7", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [ + { + "type": "cargo", + "namespace": null, + "name": "rand", + "version": "0.8.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "Random number generators and other randomness functionality.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "The Rand Project Developers", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": "The Rust Project Developers", + "email": null, + "url": null + } + ], + "keywords": [], + "homepage_url": "https://rust-random.github.io/book", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "https://github.com/rust-random/rand", + "copyright": null, + "holder": null, + "declared_license_expression": "mit OR apache-2.0", + "declared_license_expression_spdx": "MIT OR Apache-2.0", + "license_detections": [ + { + "license_expression": "mit OR apache-2.0", + "matches": [ + { + "score": 100, + "start_line": 1, + "end_line": 1, + "matched_length": 5, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_15.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_15.RULE", + "matched_text": "MIT OR Apache-2.0" + } + ], + "identifier": "mit_or_apache_2_0-480eec53-1a80-0150-7c7e-39cf79c9f3a8" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "MIT OR Apache-2.0", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": "https://crates.io/crates/rand", + "repository_download_url": "https://crates.io/api/v1/crates/rand/0.8.2/download", + "api_data_url": "https://crates.io/api/v1/crates/rand", + "datasource_id": "cargo_toml", + "purl": "pkg:cargo/rand@0.8.2" + } + ], + "for_packages": [ + "pkg:cargo/rand@0.8.2?uuid=5a963d7a-936f-4161-acb9-726d2d79bc7e" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "mit OR apache-2.0", + "detected_license_expression_spdx": "MIT OR Apache-2.0", + "license_detections": [ + { + "license_expression": "mit OR apache-2.0", + "matches": [ + { + "score": 100, + "start_line": 26, + "end_line": 26, + "matched_length": 6, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_14.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_14.RULE", + "matched_text": "license = \"MIT OR Apache-2.0\"" + } + ], + "identifier": "mit_or_apache_2_0-719f8427-422e-8023-c20e-9f8dd0af13b9" + } + ], + "license_clues": [], + "percentage_of_license_text": 1.88, + "copyrights": [], + "holders": [], + "authors": [ + { + "author": "The Rand Project Developers The Rust Project Developers", + "start_line": 17, + "end_line": 17 + } + ], + "emails": [], + "urls": [ + { + "url": "https://rust-random.github.io/book", + "start_line": 21, + "end_line": 21 + }, + { + "url": "https://docs.rs/rand", + "start_line": 22, + "end_line": 22 + }, + { + "url": "https://github.com/rust-random/rand", + "start_line": 27, + "end_line": 27 + } + ], + "is_generated": true, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "Cargo.toml.orig", + "type": "file", + "name": "Cargo.toml.orig", + "base_name": "Cargo.toml", + "extension": ".orig", + "size": 2814, + "date": "1970-01-01", + "sha1": "e75886f9055c5962219c0398fcf886dec01a09d5", + "md5": "49c44cd00b68520d3b3b23fa421a4d4a", + "sha256": "1f56c538243cd25232fd91cd56702c8d1362555b8037ccaf5544a4aaf3b20b85", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": false, + "detected_license_expression": "mit OR apache-2.0", + "detected_license_expression_spdx": "MIT OR Apache-2.0", + "license_detections": [ + { + "license_expression": "mit OR apache-2.0", + "matches": [ + { + "score": 100, + "start_line": 5, + "end_line": 5, + "matched_length": 6, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_14.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_14.RULE", + "matched_text": "license = \"MIT OR Apache-2.0\"" + } + ], + "identifier": "mit_or_apache_2_0-719f8427-422e-8023-c20e-9f8dd0af13b9" + } + ], + "license_clues": [], + "percentage_of_license_text": 1.58, + "copyrights": [], + "holders": [], + "authors": [ + { + "author": "The Rand Project Developers The Rust Project Developers", + "start_line": 4, + "end_line": 4 + } + ], + "emails": [], + "urls": [ + { + "url": "https://github.com/rust-random/rand", + "start_line": 7, + "end_line": 7 + }, + { + "url": "https://docs.rs/rand", + "start_line": 8, + "end_line": 8 + }, + { + "url": "https://rust-random.github.io/book", + "start_line": 9, + "end_line": 9 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "CHANGELOG.md", + "type": "file", + "name": "CHANGELOG.md", + "base_name": "CHANGELOG", + "extension": ".md", + "size": 23207, + "date": "1970-01-01", + "sha1": "5211643b602bf250b83d5b811a83155e9b38a767", + "md5": "c47e811f1b33e64edd575d4cabbcccfa", + "sha256": "226e8bbca9f2b7eb1129c007a8dd7e76545eab269785f33136424a7957108573", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "http://keepachangelog.com/en/1.0.0", + "start_line": 4, + "end_line": 4 + }, + { + "url": "https://semver.org/spec/v2.0.0.html", + "start_line": 5, + "end_line": 5 + }, + { + "url": "https://rust-random.github.io/book/update.html", + "start_line": 9, + "end_line": 9 + }, + { + "url": "https://docs.rs/getrandom/latest", + "start_line": 25, + "end_line": 25 + }, + { + "url": "https://github.com/rust-random/getrandom", + "start_line": 134, + "end_line": 134 + }, + { + "url": "https://github.com/rust-lang-nursery/rand", + "start_line": 198, + "end_line": 198 + }, + { + "url": "https://github.com/rust-random/rand", + "start_line": 199, + "end_line": 199 + }, + { + "url": "https://rust-random.github.io/book", + "start_line": 200, + "end_line": 200 + }, + { + "url": "https://github.com/rust-random/book", + "start_line": 201, + "end_line": 201 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "COPYRIGHT", + "type": "file", + "name": "COPYRIGHT", + "base_name": "COPYRIGHT", + "extension": "", + "size": 569, + "date": "1970-01-01", + "sha1": "f14afa20edce530124d39cd56312c7781c19b267", + "md5": "86438b2332d07437f7ddc2fe9fe4edd2", + "sha256": "90eb64f0279b0d9432accfa6023ff803bc4965212383697eee27a0f426d5f8d5", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "verilog", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": true, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": true, + "detected_license_expression": "apache-2.0 AND (apache-2.0 OR mit)", + "detected_license_expression_spdx": "Apache-2.0 AND (Apache-2.0 OR MIT)", + "license_detections": [ + { + "license_expression": "apache-2.0 AND (apache-2.0 OR mit)", + "matches": [ + { + "score": 94.12, + "start_line": 1, + "end_line": 7, + "matched_length": 48, + "match_coverage": 100, + "matcher": "3-seq", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_1060.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1060.RULE", + "matched_text": "Copyrights in the [Rand] project are retained by their contributors. No\ncopyright assignment is required to contribute to the [Rand] project.\n\nFor full authorship information, see the version control history.\n\nExcept as otherwise noted (below and/or in individual files), [Rand] is\nlicensed under the Apache License, Version 2.0 or\n or the MIT license\n or , at your option." + } + ], + "identifier": "apache_2_0_and__apache_2_0_or_mit-7ff6dd9d-b5e8-3fa4-dd61-c5a634c9b300" + } + ], + "license_clues": [], + "percentage_of_license_text": 81.11, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "http://www.apache.org/licenses/LICENSE-2.0", + "start_line": 8, + "end_line": 8 + }, + { + "url": "http://opensource.org/licenses/MIT", + "start_line": 9, + "end_line": 9 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "LICENSE-APACHE", + "type": "file", + "name": "LICENSE-APACHE", + "base_name": "LICENSE-APACHE", + "extension": "", + "size": 10849, + "date": "1970-01-01", + "sha1": "e9b475b5dccf14bd66d72dd12a04db75eaad1a9e", + "md5": "9ee8a33d3852b5a3d70f661d27bf3cc5", + "sha256": "aaff376532ea30a0cd5330b9502ad4a4c8bf769c539c87ffe78819d188a18ebf", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": true, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": true, + "detected_license_expression": "apache-2.0", + "detected_license_expression_spdx": "Apache-2.0", + "license_detections": [ + { + "license_expression": "apache-2.0", + "matches": [ + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + } + ], + "identifier": "apache_2_0-b54d1ef7-0765-1d98-075a-d34f90ebae28" + } + ], + "license_clues": [], + "percentage_of_license_text": 100, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.apache.org/licenses/", + "start_line": 3, + "end_line": 3 + }, + { + "url": "https://www.apache.org/licenses/LICENSE-2.0", + "start_line": 195, + "end_line": 195 + } + ], + "is_generated": true, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "LICENSE-MIT", + "type": "file", + "name": "LICENSE-MIT", + "base_name": "LICENSE-MIT", + "extension": "", + "size": 1117, + "date": "1970-01-01", + "sha1": "d74ad13f1402c35008f22bc588a6b8199ed164d3", + "md5": "08cf50287469d314ddbee33f572260a7", + "sha256": "209fbbe0ad52d9235e37badf9cadfe4dbdc87203179c0899e738b39ade42177b", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": true, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": true, + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "mit-cacd5c0c-204a-85c2-affc-e4c125b2492a" + } + ], + "license_clues": [], + "percentage_of_license_text": 92, + "copyrights": [ + { + "copyright": "Copyright 2018", + "start_line": 1, + "end_line": 1 + }, + { + "copyright": "Copyright (c) 2014 The Rust Project", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "The Rust Project", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "README.md", + "type": "file", + "name": "README.md", + "base_name": "README", + "extension": ".md", + "size": 7079, + "date": "1970-01-01", + "sha1": "8a9c43485f697ec93f229ba2fde1b130ce1a94da", + "md5": "a3682aa960802bdac05f955267df07df", + "sha256": "779a810c27e3b55bcb1341228340590515851052906c2af288780b8702016deb", + "mime_type": "text/plain", + "file_type": "UTF-8 Unicode text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": true, + "is_top_level": true, + "is_key_file": true, + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 57.69, + "start_line": 142, + "end_line": 147, + "matched_length": 15, + "match_coverage": 57.69, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_9.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_9.RULE", + "matched_text": "License\n\n[Rand] [is] distributed under the [terms] [of] [both] [the] MIT license and [the]\nApache License (Version 2.0).\n\nSee [LICENSE-[APACHE]](LICENSE-" + }, + { + "score": 100, + "start_line": 147, + "end_line": 147, + "matched_length": 4, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_154.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_154.RULE", + "matched_text": "LICENSE-MIT](LICENSE-MIT)," + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "mit-a9138d4e-bc0e-0a20-76fd-237047e6d41c", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 1.8, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://github.com/rust-random/rand/workflows/Tests/badge.svg?event=push", + "start_line": 3, + "end_line": 3 + }, + { + "url": "https://github.com/rust-random/rand/actions", + "start_line": 3, + "end_line": 3 + }, + { + "url": "https://img.shields.io/crates/v/rand.svg", + "start_line": 4, + "end_line": 4 + }, + { + "url": "https://crates.io/crates/rand", + "start_line": 4, + "end_line": 4 + }, + { + "url": "https://img.shields.io/badge/book-master-yellow.svg", + "start_line": 5, + "end_line": 5 + }, + { + "url": "https://rust-random.github.io/book", + "start_line": 5, + "end_line": 5 + }, + { + "url": "https://img.shields.io/badge/api-master-yellow.svg", + "start_line": 6, + "end_line": 6 + }, + { + "url": "https://rust-random.github.io/rand/rand", + "start_line": 6, + "end_line": 6 + }, + { + "url": "https://docs.rs/rand/badge.svg", + "start_line": 7, + "end_line": 7 + }, + { + "url": "https://docs.rs/rand", + "start_line": 7, + "end_line": 7 + }, + { + "url": "https://img.shields.io/badge/rustc-1.36+-lightgray.svg", + "start_line": 8, + "end_line": 8 + }, + { + "url": "https://github.com/rust-random/rand#rust-version-requirements", + "start_line": 8, + "end_line": 8 + }, + { + "url": "https://docs.rs/rand/*/rand/trait.Rng.html", + "start_line": 12, + "end_line": 12 + }, + { + "url": "https://docs.rs/rand/*/rand/seq/trait.SliceRandom.html", + "start_line": 13, + "end_line": 13 + }, + { + "url": "https://docs.rs/rand/*/rand/seq/trait.IteratorRandom.html", + "start_line": 14, + "end_line": 14 + }, + { + "url": "https://crates.io/crates/getrandom", + "start_line": 15, + "end_line": 15 + }, + { + "url": "https://docs.rs/rand/*/rand/fn.thread_rng.html", + "start_line": 16, + "end_line": 16 + }, + { + "url": "https://crates.io/crates/rand_core", + "start_line": 17, + "end_line": 17 + }, + { + "url": "https://rust-random.github.io/book/crates.html", + "start_line": 18, + "end_line": 18 + }, + { + "url": "https://rust-random.github.io/book/guide-rngs.html#cryptographically-secure-pseudo-random-number-generators-csprngs", + "start_line": 19, + "end_line": 19 + }, + { + "url": "https://rust-random.github.io/book/guide-rngs.html#basic-pseudo-random-number-generators-prngs", + "start_line": 20, + "end_line": 20 + }, + { + "url": "https://docs.rs/rand/*/rand/distributions/index.html", + "start_line": 21, + "end_line": 21 + }, + { + "url": "https://docs.rs/rand_distr", + "start_line": 23, + "end_line": 23 + }, + { + "url": "https://docs.rs/statrs/0.13.0/statrs", + "start_line": 24, + "end_line": 24 + }, + { + "url": "https://rust-random.github.io/book/portability.html", + "start_line": 25, + "end_line": 25 + }, + { + "url": "https://crates.io/crates/fastrand", + "start_line": 35, + "end_line": 35 + }, + { + "url": "https://crates.io/crates/oorandom", + "start_line": 36, + "end_line": 36 + }, + { + "url": "https://rust-random.github.io/rand", + "start_line": 44, + "end_line": 44 + }, + { + "url": "https://rust-random.github.io/book/update.html", + "start_line": 76, + "end_line": 76 + }, + { + "url": "https://semver.org/", + "start_line": 79, + "end_line": 79 + }, + { + "url": "https://github.com/dtolnay/semver-trick", + "start_line": 84, + "end_line": 84 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "src", + "type": "directory", + "name": "src", + "base_name": "src", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 24, + "dirs_count": 4, + "size_count": 286301, + "scan_errors": [] + }, + { + "path": "src/lib.rs", + "type": "file", + "name": "lib.rs", + "base_name": "lib", + "extension": ".rs", + "size": 6744, + "date": "1970-01-01", + "sha1": "44b2c086c8c08d14225fcfe8d354567fd8f64b10", + "md5": "ad22a59105b8b5ff725c8fbad64c61a8", + "sha256": "4a1daba8371978292f85c52aba3cb357e68c46ef9b56b33e6e7e33d62308bb28", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Rust", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "apache-2.0 AND mit", + "detected_license_expression_spdx": "Apache-2.0 AND MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 AND mit", + "matches": [ + { + "score": 97.92, + "start_line": 4, + "end_line": 8, + "matched_length": 47, + "match_coverage": 97.92, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_18.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_18.RULE", + "matched_text": "Licensed under the Apache License, Version 2.0 or the MIT license\n// , at your\n// option. This file may not be copied, modified, or distributed\n// except according to those terms." + }, + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "apache_2_0_and_mit-1d7101fc-0742-167f-2149-9c490d9cea0a", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 5.32, + "copyrights": [ + { + "copyright": "Copyright 2018", + "start_line": 1, + "end_line": 1 + }, + { + "copyright": "Copyright 2013-2017 The Rust Project", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "The Rust Project", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.apache.org/licenses/LICENSE-2.0", + "start_line": 5, + "end_line": 5 + }, + { + "url": "https://opensource.org/licenses/MIT", + "start_line": 6, + "end_line": 6 + }, + { + "url": "https://rust-random.github.io/book", + "start_line": 41, + "end_line": 41 + }, + { + "url": "https://www.rust-lang.org/favicon.ico", + "start_line": 45, + "end_line": 45 + }, + { + "url": "https://rust-random.github.io/rand/", + "start_line": 46, + "end_line": 46 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "src/prelude.rs", + "type": "file", + "name": "prelude.rs", + "base_name": "prelude", + "extension": ".rs", + "size": 1284, + "date": "1970-01-01", + "sha1": "0b2fd921f741e73e3f0c7638ceee2d2aa2dea937", + "md5": "71df077fc92f534bf530d19ddb8873f5", + "sha256": "2f2132d74ce9f70513224baad3b161b1585a639f9136a254cdb0e7f8ffceb25b", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Rust", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "apache-2.0 AND mit", + "detected_license_expression_spdx": "Apache-2.0 AND MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 AND mit", + "matches": [ + { + "score": 97.92, + "start_line": 3, + "end_line": 7, + "matched_length": 47, + "match_coverage": 97.92, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_18.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_18.RULE", + "matched_text": "Licensed under the Apache License, Version 2.0 or the MIT license\n// , at your\n// option. This file may not be copied, modified, or distributed\n// except according to those terms." + }, + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "apache_2_0_and_mit-1d7101fc-0742-167f-2149-9c490d9cea0a", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 25.41, + "copyrights": [ + { + "copyright": "Copyright 2018", + "start_line": 1, + "end_line": 1 + } + ], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.apache.org/licenses/LICENSE-2.0", + "start_line": 4, + "end_line": 4 + }, + { + "url": "https://opensource.org/licenses/MIT", + "start_line": 5, + "end_line": 5 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "src/rng.rs", + "type": "file", + "name": "rng.rs", + "base_name": "rng", + "extension": ".rs", + "size": 18381, + "date": "1970-01-01", + "sha1": "ad8fc141e342ab72ce827d6acaadda725c542c0d", + "md5": "6a509a43e62f7f47ff40d5624d53d1da", + "sha256": "50196ee1cad553e7793537de033eb7745a75aafec65e06a46594a4bcadf1a85b", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Rust", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "apache-2.0 AND mit", + "detected_license_expression_spdx": "Apache-2.0 AND MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 AND mit", + "matches": [ + { + "score": 97.92, + "start_line": 4, + "end_line": 8, + "matched_length": 47, + "match_coverage": 97.92, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_18.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_18.RULE", + "matched_text": "Licensed under the Apache License, Version 2.0 or the MIT license\n// , at your\n// option. This file may not be copied, modified, or distributed\n// except according to those terms." + }, + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "apache_2_0_and_mit-1d7101fc-0742-167f-2149-9c490d9cea0a", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 2.03, + "copyrights": [ + { + "copyright": "Copyright 2018", + "start_line": 1, + "end_line": 1 + }, + { + "copyright": "Copyright 2013-2017 The Rust Project", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "The Rust Project", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.apache.org/licenses/LICENSE-2.0", + "start_line": 5, + "end_line": 5 + }, + { + "url": "https://opensource.org/licenses/MIT", + "start_line": 6, + "end_line": 6 + }, + { + "url": "https://rust-random.github.io/book/portability.html", + "start_line": 311, + "end_line": 311 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "src/distributions", + "type": "directory", + "name": "distributions", + "base_name": "distributions", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 9, + "dirs_count": 0, + "size_count": 145547, + "scan_errors": [] + }, + { + "path": "src/distributions/bernoulli.rs", + "type": "file", + "name": "bernoulli.rs", + "base_name": "bernoulli", + "extension": ".rs", + "size": 7328, + "date": "1970-01-01", + "sha1": "767f1f55ba3cae24e3ff916dff6cf60c0a9d5fb9", + "md5": "6c11d2fcbd846ae6b91d21c51b94206c", + "sha256": "ceaefa810de9e65de9b9bb98985092f01c76166f83c48476b2d2261ed612f49e", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Rust", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "apache-2.0 AND mit", + "detected_license_expression_spdx": "Apache-2.0 AND MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 AND mit", + "matches": [ + { + "score": 97.92, + "start_line": 3, + "end_line": 7, + "matched_length": 47, + "match_coverage": 97.92, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_18.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_18.RULE", + "matched_text": "Licensed under the Apache License, Version 2.0 or the MIT license\n// , at your\n// option. This file may not be copied, modified, or distributed\n// except according to those terms." + }, + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "apache_2_0_and_mit-1d7101fc-0742-167f-2149-9c490d9cea0a", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 4.92, + "copyrights": [ + { + "copyright": "Copyright 2018", + "start_line": 1, + "end_line": 1 + } + ], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.apache.org/licenses/LICENSE-2.0", + "start_line": 4, + "end_line": 4 + }, + { + "url": "https://opensource.org/licenses/MIT", + "start_line": 5, + "end_line": 5 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "src/distributions/float.rs", + "type": "file", + "name": "float.rs", + "base_name": "float", + "extension": ".rs", + "size": 12583, + "date": "1970-01-01", + "sha1": "0a9c59eb3485e6a09b72bebc2a585b070c3edad5", + "md5": "2b334c526b6fde2894da54b388a06b13", + "sha256": "e5c22bb31a2297ed554553b671084d9a41f110d414b52eaa24fd6e7759bccfc7", + "mime_type": "text/plain", + "file_type": "UTF-8 Unicode text", + "programming_language": "Rust", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "apache-2.0 AND mit", + "detected_license_expression_spdx": "Apache-2.0 AND MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 AND mit", + "matches": [ + { + "score": 97.92, + "start_line": 3, + "end_line": 7, + "matched_length": 47, + "match_coverage": 97.92, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_18.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_18.RULE", + "matched_text": "Licensed under the Apache License, Version 2.0 or the MIT license\n// , at your\n// option. This file may not be copied, modified, or distributed\n// except according to those terms." + }, + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "apache_2_0_and_mit-1d7101fc-0742-167f-2149-9c490d9cea0a", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 2.99, + "copyrights": [ + { + "copyright": "Copyright 2018", + "start_line": 1, + "end_line": 1 + } + ], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.apache.org/licenses/LICENSE-2.0", + "start_line": 4, + "end_line": 4 + }, + { + "url": "https://opensource.org/licenses/MIT", + "start_line": 5, + "end_line": 5 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "src/distributions/integer.rs", + "type": "file", + "name": "integer.rs", + "base_name": "integer", + "extension": ".rs", + "size": 9047, + "date": "1970-01-01", + "sha1": "05f5f4cf805acaee8644ff6abccb41d0693ef340", + "md5": "c49938a0fd62738e8ece437aa8eaf086", + "sha256": "16948664d86a506ed8a401d602238e08ae6f74744b4a656167f8c2a70f7455bb", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Rust", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "apache-2.0 AND mit", + "detected_license_expression_spdx": "Apache-2.0 AND MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 AND mit", + "matches": [ + { + "score": 97.92, + "start_line": 3, + "end_line": 7, + "matched_length": 47, + "match_coverage": 97.92, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_18.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_18.RULE", + "matched_text": "Licensed under the Apache License, Version 2.0 or the MIT license\n// , at your\n// option. This file may not be copied, modified, or distributed\n// except according to those terms." + }, + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "apache_2_0_and_mit-1d7101fc-0742-167f-2149-9c490d9cea0a", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 4.95, + "copyrights": [ + { + "copyright": "Copyright 2018", + "start_line": 1, + "end_line": 1 + } + ], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.apache.org/licenses/LICENSE-2.0", + "start_line": 4, + "end_line": 4 + }, + { + "url": "https://opensource.org/licenses/MIT", + "start_line": 5, + "end_line": 5 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "src/distributions/mod.rs", + "type": "file", + "name": "mod.rs", + "base_name": "mod", + "extension": ".rs", + "size": 13585, + "date": "1970-01-01", + "sha1": "aa83850d175acfc35eec0332ae7747255e301f0e", + "md5": "952bf7da18a5d2fbd5b17e518df976f9", + "sha256": "8fcee0cf3434343a7cb3a6b0be03191d202cbc6375e8516700411513831c5775", + "mime_type": "text/plain", + "file_type": "UTF-8 Unicode text", + "programming_language": "Rust", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "apache-2.0 AND mit", + "detected_license_expression_spdx": "Apache-2.0 AND MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 AND mit", + "matches": [ + { + "score": 97.92, + "start_line": 4, + "end_line": 8, + "matched_length": 47, + "match_coverage": 97.92, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_18.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_18.RULE", + "matched_text": "Licensed under the Apache License, Version 2.0 or the MIT license\n// , at your\n// option. This file may not be copied, modified, or distributed\n// except according to those terms." + }, + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "apache_2_0_and_mit-1d7101fc-0742-167f-2149-9c490d9cea0a", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 2.61, + "copyrights": [ + { + "copyright": "Copyright 2018", + "start_line": 1, + "end_line": 1 + }, + { + "copyright": "Copyright 2013-2017 The Rust Project", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "The Rust Project", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.apache.org/licenses/LICENSE-2.0", + "start_line": 5, + "end_line": 5 + }, + { + "url": "https://opensource.org/licenses/MIT", + "start_line": 6, + "end_line": 6 + }, + { + "url": "https://en.wikipedia.org/wiki/Probability_distribution", + "start_line": 88, + "end_line": 88 + }, + { + "url": "https://crates.io/crates/rand_distr", + "start_line": 89, + "end_line": 89 + }, + { + "url": "https://crates.io/crates/statrs", + "start_line": 90, + "end_line": 90 + }, + { + "url": "https://rust-random.github.io/book/portability.html", + "start_line": 141, + "end_line": 141 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "src/distributions/other.rs", + "type": "file", + "name": "other.rs", + "base_name": "other", + "extension": ".rs", + "size": 9923, + "date": "1970-01-01", + "sha1": "90b6a1f54731db7726fc96c3740b215d552c2458", + "md5": "b153495266f8810e1761fd0a8c0c73f6", + "sha256": "e99827bdfe6da505b837dcd6dfb831a02d8b57e0c5cdaacbd086184c07f6ebc1", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Rust", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "apache-2.0 AND mit", + "detected_license_expression_spdx": "Apache-2.0 AND MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 AND mit", + "matches": [ + { + "score": 97.92, + "start_line": 3, + "end_line": 7, + "matched_length": 47, + "match_coverage": 97.92, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_18.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_18.RULE", + "matched_text": "Licensed under the Apache License, Version 2.0 or the MIT license\n// , at your\n// option. This file may not be copied, modified, or distributed\n// except according to those terms." + }, + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "apache_2_0_and_mit-1d7101fc-0742-167f-2149-9c490d9cea0a", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 3.89, + "copyrights": [ + { + "copyright": "Copyright 2018", + "start_line": 1, + "end_line": 1 + } + ], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.apache.org/licenses/LICENSE-2.0", + "start_line": 4, + "end_line": 4 + }, + { + "url": "https://opensource.org/licenses/MIT", + "start_line": 5, + "end_line": 5 + }, + { + "url": "https://en.wikipedia.org/wiki/Password_strength", + "start_line": 55, + "end_line": 55 + }, + { + "url": "https://en.wikipedia.org/wiki/Diceware", + "start_line": 56, + "end_line": 56 + }, + { + "url": "https://github.com/rust-lang/rust/issues/24066", + "start_line": 186, + "end_line": 186 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "src/distributions/uniform.rs", + "type": "file", + "name": "uniform.rs", + "base_name": "uniform", + "extension": ".rs", + "size": 61828, + "date": "1970-01-01", + "sha1": "261b02e1a719f39b5a7213c4a8c2088e58fa1790", + "md5": "256685a351d0f767d5cfd06bf5f93f57", + "sha256": "ab6bfd4a4e7df146d501fa56dffaf9f91cfe10e1f4ac4cbc8920b583a1005da1", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Rust", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "apache-2.0 AND mit", + "detected_license_expression_spdx": "Apache-2.0 AND MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 AND mit", + "matches": [ + { + "score": 97.92, + "start_line": 4, + "end_line": 8, + "matched_length": 47, + "match_coverage": 97.92, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_18.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_18.RULE", + "matched_text": "Licensed under the Apache License, Version 2.0 or the MIT license\n// , at your\n// option. This file may not be copied, modified, or distributed\n// except according to those terms." + }, + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "apache_2_0_and_mit-1d7101fc-0742-167f-2149-9c490d9cea0a", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 0.65, + "copyrights": [ + { + "copyright": "Copyright 2018-2020", + "start_line": 1, + "end_line": 1 + }, + { + "copyright": "Copyright 2017 The Rust Project", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "The Rust Project", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.apache.org/licenses/LICENSE-2.0", + "start_line": 5, + "end_line": 5 + }, + { + "url": "https://opensource.org/licenses/MIT", + "start_line": 6, + "end_line": 6 + } + ], + "is_generated": true, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "src/distributions/utils.rs", + "type": "file", + "name": "utils.rs", + "base_name": "utils", + "extension": ".rs", + "size": 13599, + "date": "1970-01-01", + "sha1": "f6766b5517011a372220771c22cd22803c85e931", + "md5": "d159bbb0de6aeca0f6fd94e7c6b2ca03", + "sha256": "97bd9e385c3aa24acb2765f0190983c46f34dcd436eec6ced69a7124d1faf41f", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Rust", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "apache-2.0 AND mit", + "detected_license_expression_spdx": "Apache-2.0 AND MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 AND mit", + "matches": [ + { + "score": 97.92, + "start_line": 3, + "end_line": 7, + "matched_length": 47, + "match_coverage": 97.92, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_18.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_18.RULE", + "matched_text": "Licensed under the Apache License, Version 2.0 or the MIT license\n// , at your\n// option. This file may not be copied, modified, or distributed\n// except according to those terms." + }, + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "apache_2_0_and_mit-1d7101fc-0742-167f-2149-9c490d9cea0a", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 3.02, + "copyrights": [ + { + "copyright": "Copyright 2018", + "start_line": 1, + "end_line": 1 + } + ], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.apache.org/licenses/LICENSE-2.0", + "start_line": 4, + "end_line": 4 + }, + { + "url": "https://opensource.org/licenses/MIT", + "start_line": 5, + "end_line": 5 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "src/distributions/weighted.rs", + "type": "file", + "name": "weighted.rs", + "base_name": "weighted", + "extension": ".rs", + "size": 1578, + "date": "1970-01-01", + "sha1": "e0a21b836a6626cbb9bd9f55122c5efa22984abf", + "md5": "679d3746cdfb933d4f59da04743e7971", + "sha256": "049ed1ce8dcb66ebfa34bdfebea6c355732b099c564e047c7151e0c4e8fb3114", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Rust", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "apache-2.0 AND mit", + "detected_license_expression_spdx": "Apache-2.0 AND MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 AND mit", + "matches": [ + { + "score": 97.92, + "start_line": 3, + "end_line": 7, + "matched_length": 47, + "match_coverage": 97.92, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_18.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_18.RULE", + "matched_text": "Licensed under the Apache License, Version 2.0 or the MIT license\n// , at your\n// option. This file may not be copied, modified, or distributed\n// except according to those terms." + }, + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "apache_2_0_and_mit-1d7101fc-0742-167f-2149-9c490d9cea0a", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 23.98, + "copyrights": [ + { + "copyright": "Copyright 2018", + "start_line": 1, + "end_line": 1 + } + ], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.apache.org/licenses/LICENSE-2.0", + "start_line": 4, + "end_line": 4 + }, + { + "url": "https://opensource.org/licenses/MIT", + "start_line": 5, + "end_line": 5 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "src/distributions/weighted_index.rs", + "type": "file", + "name": "weighted_index.rs", + "base_name": "weighted_index", + "extension": ".rs", + "size": 16076, + "date": "1970-01-01", + "sha1": "e240ba387e11673f82fd95782a42f13d42bbff36", + "md5": "d3c8c2734df1a4c5f9e8aaa203bef17b", + "sha256": "f44fe6231c192205515797a759456b5add0b8edd687e89186dcdc200028a965b", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Rust", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "apache-2.0 AND mit", + "detected_license_expression_spdx": "Apache-2.0 AND MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 AND mit", + "matches": [ + { + "score": 97.92, + "start_line": 3, + "end_line": 7, + "matched_length": 47, + "match_coverage": 97.92, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_18.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_18.RULE", + "matched_text": "Licensed under the Apache License, Version 2.0 or the MIT license\n// , at your\n// option. This file may not be copied, modified, or distributed\n// except according to those terms." + }, + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "apache_2_0_and_mit-1d7101fc-0742-167f-2149-9c490d9cea0a", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 2.5, + "copyrights": [ + { + "copyright": "Copyright 2018", + "start_line": 1, + "end_line": 1 + } + ], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.apache.org/licenses/LICENSE-2.0", + "start_line": 4, + "end_line": 4 + }, + { + "url": "https://opensource.org/licenses/MIT", + "start_line": 5, + "end_line": 5 + }, + { + "url": "https://docs.rs/rand_distr/*/rand_distr/weighted_alias/index.html", + "start_line": 35, + "end_line": 35 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "src/rngs", + "type": "directory", + "name": "rngs", + "base_name": "rngs", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 10, + "dirs_count": 1, + "size_count": 45622, + "scan_errors": [] + }, + { + "path": "src/rngs/mock.rs", + "type": "file", + "name": "mock.rs", + "base_name": "mock", + "extension": ".rs", + "size": 2309, + "date": "1970-01-01", + "sha1": "876ed6114bf1d8df3e75d4e835a6b05de8fb48a8", + "md5": "e3d24bd9f6f3763ce0cde476ec9ab732", + "sha256": "0074abe04cf84b1263218f50140931fa4188f4e0a43fe3205556a00e4c36d1e9", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Rust", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "apache-2.0 AND mit", + "detected_license_expression_spdx": "Apache-2.0 AND MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 AND mit", + "matches": [ + { + "score": 97.92, + "start_line": 3, + "end_line": 7, + "matched_length": 47, + "match_coverage": 97.92, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_18.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_18.RULE", + "matched_text": "Licensed under the Apache License, Version 2.0 or the MIT license\n// , at your\n// option. This file may not be copied, modified, or distributed\n// except according to those terms." + }, + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "apache_2_0_and_mit-1d7101fc-0742-167f-2149-9c490d9cea0a", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 15.61, + "copyrights": [ + { + "copyright": "Copyright 2018", + "start_line": 1, + "end_line": 1 + } + ], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.apache.org/licenses/LICENSE-2.0", + "start_line": 4, + "end_line": 4 + }, + { + "url": "https://opensource.org/licenses/MIT", + "start_line": 5, + "end_line": 5 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "src/rngs/mod.rs", + "type": "file", + "name": "mod.rs", + "base_name": "mod", + "extension": ".rs", + "size": 5961, + "date": "1970-01-01", + "sha1": "c8b9c1079aa56d76ace61797ee0f2e75e53c9f90", + "md5": "900c31e9ea917ec8cccff19755abd787", + "sha256": "a6dec3d19e1726ba05f130ab9b20719d79177b8c1584cdd7b5f37b9996315ed3", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Rust", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "apache-2.0 AND mit", + "detected_license_expression_spdx": "Apache-2.0 AND MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 AND mit", + "matches": [ + { + "score": 97.92, + "start_line": 3, + "end_line": 7, + "matched_length": 47, + "match_coverage": 97.92, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_18.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_18.RULE", + "matched_text": "Licensed under the Apache License, Version 2.0 or the MIT license\n// , at your\n// option. This file may not be copied, modified, or distributed\n// except according to those terms." + }, + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "apache_2_0_and_mit-1d7101fc-0742-167f-2149-9c490d9cea0a", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 5.9, + "copyrights": [ + { + "copyright": "Copyright 2018", + "start_line": 1, + "end_line": 1 + } + ], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.apache.org/licenses/LICENSE-2.0", + "start_line": 4, + "end_line": 4 + }, + { + "url": "https://opensource.org/licenses/MIT", + "start_line": 5, + "end_line": 5 + }, + { + "url": "https://github.com/rust-random/rand/issues/699", + "start_line": 78, + "end_line": 78 + }, + { + "url": "https://crates.io/crates/rdrand", + "start_line": 92, + "end_line": 92 + }, + { + "url": "https://crates.io/crates/rand_jitter", + "start_line": 93, + "end_line": 93 + }, + { + "url": "https://crates.io/crates/rand_chacha", + "start_line": 94, + "end_line": 94 + }, + { + "url": "https://crates.io/crates/rand_pcg", + "start_line": 95, + "end_line": 95 + }, + { + "url": "https://crates.io/crates/rand_xoshiro", + "start_line": 96, + "end_line": 96 + }, + { + "url": "https://crates.io/keywords/rng", + "start_line": 97, + "end_line": 97 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "src/rngs/small.rs", + "type": "file", + "name": "small.rs", + "base_name": "small", + "extension": ".rs", + "size": 4312, + "date": "1970-01-01", + "sha1": "cd04db45de1314700fd057e90ba744a60061890d", + "md5": "526ecd6ffa771a07b56d27e1290aaf3f", + "sha256": "a8e61c6e0bad62f06db1325e3b93eff1d4aa9e82cf0316fbfd02da2ef5b85b83", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Rust", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "apache-2.0 AND mit", + "detected_license_expression_spdx": "Apache-2.0 AND MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 AND mit", + "matches": [ + { + "score": 97.92, + "start_line": 3, + "end_line": 7, + "matched_length": 47, + "match_coverage": 97.92, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_18.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_18.RULE", + "matched_text": "Licensed under the Apache License, Version 2.0 or the MIT license\n// , at your\n// option. This file may not be copied, modified, or distributed\n// except according to those terms." + }, + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "apache_2_0_and_mit-1d7101fc-0742-167f-2149-9c490d9cea0a", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 8.06, + "copyrights": [ + { + "copyright": "Copyright 2018", + "start_line": 1, + "end_line": 1 + } + ], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.apache.org/licenses/LICENSE-2.0", + "start_line": 4, + "end_line": 4 + }, + { + "url": "https://opensource.org/licenses/MIT", + "start_line": 5, + "end_line": 5 + }, + { + "url": "https://rust-random.github.io/book/guide-rngs.html", + "start_line": 36, + "end_line": 36 + }, + { + "url": "https://crates.io/crates/rand_chacha", + "start_line": 77, + "end_line": 77 + }, + { + "url": "https://crates.io/crates/rand_xoshiro", + "start_line": 78, + "end_line": 78 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "src/rngs/std.rs", + "type": "file", + "name": "std.rs", + "base_name": "std", + "extension": ".rs", + "size": 3241, + "date": "1970-01-01", + "sha1": "87908f87bc5a42d26e5fcaabb729d1d6ebf4051d", + "md5": "a5ecc3f9edf6dad1b2d25f6425af4a3e", + "sha256": "0fe31f4a9b3f440801965d777b455b066516044b0c83cb69547c17cbd21bf57e", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Rust", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "apache-2.0 AND mit", + "detected_license_expression_spdx": "Apache-2.0 AND MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 AND mit", + "matches": [ + { + "score": 97.92, + "start_line": 3, + "end_line": 7, + "matched_length": 47, + "match_coverage": 97.92, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_18.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_18.RULE", + "matched_text": "Licensed under the Apache License, Version 2.0 or the MIT license\n// , at your\n// option. This file may not be copied, modified, or distributed\n// except according to those terms." + }, + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "apache_2_0_and_mit-1d7101fc-0742-167f-2149-9c490d9cea0a", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 10.15, + "copyrights": [ + { + "copyright": "Copyright 2018", + "start_line": 1, + "end_line": 1 + } + ], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.apache.org/licenses/LICENSE-2.0", + "start_line": 4, + "end_line": 4 + }, + { + "url": "https://opensource.org/licenses/MIT", + "start_line": 5, + "end_line": 5 + }, + { + "url": "https://crates.io/crates/rand_chacha", + "start_line": 34, + "end_line": 34 + }, + { + "url": "https://github.com/rust-random/rand/issues/932", + "start_line": 35, + "end_line": 35 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "src/rngs/thread.rs", + "type": "file", + "name": "thread.rs", + "base_name": "thread", + "extension": ".rs", + "size": 5391, + "date": "1970-01-01", + "sha1": "c9e192f174213fccfded8b6459655d107d38c00d", + "md5": "026e84179598573dea144868bb968906", + "sha256": "3249717e00a4cc944829c6ffde289053ae08bc6159dc90a2d397bf583c2cd8ad", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Rust", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "apache-2.0 AND mit", + "detected_license_expression_spdx": "Apache-2.0 AND MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 AND mit", + "matches": [ + { + "score": 97.92, + "start_line": 3, + "end_line": 7, + "matched_length": 47, + "match_coverage": 97.92, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_18.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_18.RULE", + "matched_text": "Licensed under the Apache License, Version 2.0 or the MIT license\n// , at your\n// option. This file may not be copied, modified, or distributed\n// except according to those terms." + }, + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "apache_2_0_and_mit-1d7101fc-0742-167f-2149-9c490d9cea0a", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 6.32, + "copyrights": [ + { + "copyright": "Copyright 2018", + "start_line": 1, + "end_line": 1 + } + ], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.apache.org/licenses/LICENSE-2.0", + "start_line": 4, + "end_line": 4 + }, + { + "url": "https://opensource.org/licenses/MIT", + "start_line": 5, + "end_line": 5 + } + ], + "is_generated": true, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "src/rngs/xoshiro128plusplus.rs", + "type": "file", + "name": "xoshiro128plusplus.rs", + "base_name": "xoshiro128plusplus", + "extension": ".rs", + "size": 3647, + "date": "1970-01-01", + "sha1": "5ae88ea9dd0eaa23dda2ff312cf095944d8e6c97", + "md5": "1c613f68c2182f79a04727d9dbff549c", + "sha256": "deca2450a2d5ea826ca6f47cccb9ee06daeac38799a30a107b78c5dae78ae30c", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Rust", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "apache-2.0 AND mit", + "detected_license_expression_spdx": "Apache-2.0 AND MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 AND mit", + "matches": [ + { + "score": 97.92, + "start_line": 3, + "end_line": 7, + "matched_length": 47, + "match_coverage": 97.92, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_18.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_18.RULE", + "matched_text": "Licensed under the Apache License, Version 2.0 or the MIT license\n// , at your\n// option. This file may not be copied, modified, or distributed\n// except according to those terms." + }, + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "apache_2_0_and_mit-1d7101fc-0742-167f-2149-9c490d9cea0a", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 9.92, + "copyrights": [ + { + "copyright": "Copyright 2018", + "start_line": 1, + "end_line": 1 + } + ], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.apache.org/licenses/LICENSE-2.0", + "start_line": 4, + "end_line": 4 + }, + { + "url": "https://opensource.org/licenses/MIT", + "start_line": 5, + "end_line": 5 + }, + { + "url": "http://xoshiro.di.unimi.it/xoshiro128plusplus.c", + "start_line": 20, + "end_line": 20 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "src/rngs/xoshiro256plusplus.rs", + "type": "file", + "name": "xoshiro256plusplus.rs", + "base_name": "xoshiro256plusplus", + "extension": ".rs", + "size": 3892, + "date": "1970-01-01", + "sha1": "32cf284da477446a0eb2f3bbf7c40b3ae9f7236d", + "md5": "65567b9cfaaaf8f015263614e98fb6b7", + "sha256": "429c1fdf5013589e253932198352ac9ce72870b32b08402a8f5d8d6aec31b6cb", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Rust", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "apache-2.0 AND mit", + "detected_license_expression_spdx": "Apache-2.0 AND MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 AND mit", + "matches": [ + { + "score": 97.92, + "start_line": 3, + "end_line": 7, + "matched_length": 47, + "match_coverage": 97.92, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_18.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_18.RULE", + "matched_text": "Licensed under the Apache License, Version 2.0 or the MIT license\n// , at your\n// option. This file may not be copied, modified, or distributed\n// except according to those terms." + }, + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "apache_2_0_and_mit-1d7101fc-0742-167f-2149-9c490d9cea0a", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 9.38, + "copyrights": [ + { + "copyright": "Copyright 2018", + "start_line": 1, + "end_line": 1 + } + ], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.apache.org/licenses/LICENSE-2.0", + "start_line": 4, + "end_line": 4 + }, + { + "url": "https://opensource.org/licenses/MIT", + "start_line": 5, + "end_line": 5 + }, + { + "url": "http://xoshiro.di.unimi.it/xoshiro256plusplus.c", + "start_line": 20, + "end_line": 20 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "src/rngs/adapter", + "type": "directory", + "name": "adapter", + "base_name": "adapter", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 3, + "dirs_count": 0, + "size_count": 16869, + "scan_errors": [] + }, + { + "path": "src/rngs/adapter/mod.rs", + "type": "file", + "name": "mod.rs", + "base_name": "mod", + "extension": ".rs", + "size": 501, + "date": "1970-01-01", + "sha1": "41426d1297e2da1c88e953bcb7ce429ce00250a4", + "md5": "c68094b9d2fd5729dfa9a7bd36862a58", + "sha256": "1f21d310f3626c7f2d94770e47782db0e71995e1c15363a6d5623f5785b5f14f", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Rust", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "apache-2.0 AND mit", + "detected_license_expression_spdx": "Apache-2.0 AND MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 AND mit", + "matches": [ + { + "score": 97.92, + "start_line": 3, + "end_line": 7, + "matched_length": 47, + "match_coverage": 97.92, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_18.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_18.RULE", + "matched_text": "Licensed under the Apache License, Version 2.0 or the MIT license\n// , at your\n// option. This file may not be copied, modified, or distributed\n// except according to those terms." + }, + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "apache_2_0_and_mit-1d7101fc-0742-167f-2149-9c490d9cea0a", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 63.51, + "copyrights": [ + { + "copyright": "Copyright 2018", + "start_line": 1, + "end_line": 1 + } + ], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.apache.org/licenses/LICENSE-2.0", + "start_line": 4, + "end_line": 4 + }, + { + "url": "https://opensource.org/licenses/MIT", + "start_line": 5, + "end_line": 5 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "src/rngs/adapter/read.rs", + "type": "file", + "name": "read.rs", + "base_name": "read", + "extension": ".rs", + "size": 4225, + "date": "1970-01-01", + "sha1": "438e6dab2f2aa6251fb9228d98fb574a5aade8f0", + "md5": "54c970ff550dd4f73d5c124f82c71b2f", + "sha256": "f67300fb9d855355d138a198af70438618335ec39d5d0a4973afbdb54c0cbba6", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Rust", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "apache-2.0 AND mit", + "detected_license_expression_spdx": "Apache-2.0 AND MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 AND mit", + "matches": [ + { + "score": 97.92, + "start_line": 4, + "end_line": 8, + "matched_length": 47, + "match_coverage": 97.92, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_18.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_18.RULE", + "matched_text": "Licensed under the Apache License, Version 2.0 or the MIT license\n// , at your\n// option. This file may not be copied, modified, or distributed\n// except according to those terms." + }, + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "apache_2_0_and_mit-1d7101fc-0742-167f-2149-9c490d9cea0a", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 7.78, + "copyrights": [ + { + "copyright": "Copyright 2018", + "start_line": 1, + "end_line": 1 + }, + { + "copyright": "Copyright 2013 The Rust Project", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "The Rust Project", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.apache.org/licenses/LICENSE-2.0", + "start_line": 5, + "end_line": 5 + }, + { + "url": "https://opensource.org/licenses/MIT", + "start_line": 6, + "end_line": 6 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "src/rngs/adapter/reseeding.rs", + "type": "file", + "name": "reseeding.rs", + "base_name": "reseeding", + "extension": ".rs", + "size": 12143, + "date": "1970-01-01", + "sha1": "be5c1b45c03b1924e5d494ff0112137a4fc0c014", + "md5": "2d51212823bfa0a1d65c30c244e6fd0b", + "sha256": "59ce72e2a5586ab06c4f29792d46edb4d22de462c5a77476d3492ac3c9a7195e", + "mime_type": "text/x-c", + "file_type": "C source, ASCII text", + "programming_language": "Rust", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "apache-2.0 AND mit", + "detected_license_expression_spdx": "Apache-2.0 AND MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 AND mit", + "matches": [ + { + "score": 97.92, + "start_line": 4, + "end_line": 8, + "matched_length": 47, + "match_coverage": 97.92, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_18.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_18.RULE", + "matched_text": "Licensed under the Apache License, Version 2.0 or the MIT license\n// , at your\n// option. This file may not be copied, modified, or distributed\n// except according to those terms." + }, + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "apache_2_0_and_mit-1d7101fc-0742-167f-2149-9c490d9cea0a", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 3.02, + "copyrights": [ + { + "copyright": "Copyright 2018", + "start_line": 1, + "end_line": 1 + }, + { + "copyright": "Copyright 2013 The Rust Project", + "start_line": 2, + "end_line": 2 + } + ], + "holders": [ + { + "holder": "The Rust Project", + "start_line": 2, + "end_line": 2 + } + ], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.apache.org/licenses/LICENSE-2.0", + "start_line": 5, + "end_line": 5 + }, + { + "url": "https://opensource.org/licenses/MIT", + "start_line": 6, + "end_line": 6 + } + ], + "is_generated": true, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "src/seq", + "type": "directory", + "name": "seq", + "base_name": "seq", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 2, + "dirs_count": 0, + "size_count": 68723, + "scan_errors": [] + }, + { + "path": "src/seq/index.rs", + "type": "file", + "name": "index.rs", + "base_name": "index", + "extension": ".rs", + "size": 22520, + "date": "1970-01-01", + "sha1": "76228050ac848af61e7df63b45df2bd90e274635", + "md5": "36f860f3c9550982b73963c3dd7a274c", + "sha256": "74782337cd71bd93ed12e196d90bc8e70d3f69cacbf8e29110931a6463cff152", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Rust", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "apache-2.0 AND mit", + "detected_license_expression_spdx": "Apache-2.0 AND MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 AND mit", + "matches": [ + { + "score": 97.92, + "start_line": 3, + "end_line": 7, + "matched_length": 47, + "match_coverage": 97.92, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_18.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_18.RULE", + "matched_text": "Licensed under the Apache License, Version 2.0 or the MIT license\n// , at your\n// option. This file may not be copied, modified, or distributed\n// except according to those terms." + }, + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "apache_2_0_and_mit-1d7101fc-0742-167f-2149-9c490d9cea0a", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 1.6, + "copyrights": [ + { + "copyright": "Copyright 2018", + "start_line": 1, + "end_line": 1 + } + ], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.apache.org/licenses/LICENSE-2.0", + "start_line": 4, + "end_line": 4 + }, + { + "url": "https://opensource.org/licenses/MIT", + "start_line": 5, + "end_line": 5 + }, + { + "url": "https://github.com/rust-random/rand/pull/479", + "start_line": 234, + "end_line": 234 + }, + { + "url": "https://doi.org/10.1016/j.ipl.2005.11.003", + "start_line": 298, + "end_line": 298 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "src/seq/mod.rs", + "type": "file", + "name": "mod.rs", + "base_name": "mod", + "extension": ".rs", + "size": 46203, + "date": "1970-01-01", + "sha1": "b32fbc06b221505eae71bdbb7526eebb5852c828", + "md5": "45a440ff585a830dd4f0448e5bd1a080", + "sha256": "236b3db346d2e4af5f52f321ce69fca06a6f5dbb23b335eb1d352514a9729d42", + "mime_type": "text/plain", + "file_type": "UTF-8 Unicode text", + "programming_language": "Rust", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "apache-2.0 AND mit", + "detected_license_expression_spdx": "Apache-2.0 AND MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 AND mit", + "matches": [ + { + "score": 97.92, + "start_line": 3, + "end_line": 7, + "matched_length": 47, + "match_coverage": 97.92, + "matcher": "3-seq", + "license_expression": "mit OR apache-2.0", + "rule_identifier": "mit_or_apache-2.0_18.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_18.RULE", + "matched_text": "Licensed under the Apache License, Version 2.0 or the MIT license\n// , at your\n// option. This file may not be copied, modified, or distributed\n// except according to those terms." + }, + { + "score": 100, + "start_line": 1, + "end_line": 201, + "matched_length": 1584, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_255.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_255.RULE", + "matched_text": "Apache License\n Version 2.0, January 2004\n https://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\nEND OF TERMS AND CONDITIONS\n\nAPPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\nCopyright [yyyy] [name of copyright owner]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttps://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + }, + { + "score": 100, + "start_line": 4, + "end_line": 26, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE." + } + ], + "identifier": "apache_2_0_and_mit-1d7101fc-0742-167f-2149-9c490d9cea0a", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 0.85, + "copyrights": [ + { + "copyright": "Copyright 2018", + "start_line": 1, + "end_line": 1 + } + ], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.apache.org/licenses/LICENSE-2.0", + "start_line": 4, + "end_line": 4 + }, + { + "url": "https://opensource.org/licenses/MIT", + "start_line": 5, + "end_line": 5 + }, + { + "url": "https://github.com/rust-lang/rust/issues/77404", + "start_line": 378, + "end_line": 378 + }, + { + "url": "https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle#The_modern_algorithm", + "start_line": 595, + "end_line": 595 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + } + ] + } +} diff --git a/test/fixtures/scancode/32.0.8/gem.json b/test/fixtures/scancode/32.0.8/gem.json new file mode 100644 index 000000000..e408f24a5 --- /dev/null +++ b/test/fixtures/scancode/32.0.8/gem.json @@ -0,0 +1,5813 @@ +{ + "_metadata": { + "type": "scancode", + "url": "cd:/gem/rubygems/-/mocha/2.1.0", + "fetchedAt": "2024-02-22T18:12:38.841Z", + "links": { + "self": { + "href": "urn:gem:rubygems:-:mocha:revision:2.1.0:tool:scancode:32.2.8", + "type": "resource" + }, + "siblings": { + "href": "urn:gem:rubygems:-:mocha:revision:2.1.0:tool:scancode", + "type": "collection" + } + }, + "schemaVersion": "32.2.8", + "toolVersion": "32.0.8", + "contentType": "application/json", + "releaseDate": "2023-07-27T00:00:00.000Z", + "processedAt": "2024-02-22T18:12:55.135Z" + }, + "content": { + "headers": [ + { + "tool_name": "scancode-toolkit", + "tool_version": "32.0.8", + "options": { + "input": [ + "/tmp/cd-KzqGaA/data" + ], + "--classify": true, + "--copyright": true, + "--email": true, + "--generated": true, + "--info": true, + "--json-pp": "/tmp/cd-EP5vb7", + "--license": true, + "--license-clarity-score": true, + "--license-references": true, + "--license-text": true, + "--license-text-diagnostics": true, + "--package": true, + "--processes": "2", + "--strip-root": true, + "--summary": true, + "--tallies": true, + "--tallies-key-files": true, + "--timeout": "1000.0", + "--url": true + }, + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "start_timestamp": "2024-02-22T181239.435761", + "end_timestamp": "2024-02-22T181254.514934", + "output_format_version": "3.0.0", + "duration": 15.079187393188477, + "message": null, + "errors": [], + "warnings": [], + "extra_data": { + "system_environment": { + "operating_system": "linux", + "cpu_architecture": "64", + "platform": "Linux-6.2.0-1019-azure-x86_64-with-glibc2.31", + "platform_version": "#19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024", + "python_version": "3.9.2 (default, Feb 28 2021, 17:03:44) \n[GCC 10.2.1 20210110]" + }, + "spdx_license_list_version": "3.21", + "files_count": 97 + } + } + ], + "summary": { + "declared_license_expression": "mit", + "license_clarity_score": { + "score": 100, + "declared_license": true, + "identification_precision": true, + "has_license_text": true, + "declared_copyrights": true, + "conflicting_license_categories": false, + "ambiguous_compound_licensing": false + }, + "declared_holder": "James Mead", + "primary_language": "Ruby", + "other_license_expressions": [ + { + "value": null, + "count": 91 + }, + { + "value": "mit AND bsd-simplified", + "count": 1 + } + ], + "other_holders": [ + { + "value": null, + "count": 94 + } + ], + "other_languages": [] + }, + "packages": [ + { + "type": "gem", + "namespace": null, + "name": "mocha", + "version": "Mocha::VERSION", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "Mocking and stubbing library with JMock/SchMock syntax, which allows mocking and stubbing of methods on real (non-mock) classes.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "James Mead", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": null, + "email": "mocha-developer@googlegroups.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://mocha.jamesmead.org", + "download_url": "https://rubygems.org/downloads/mocha-Mocha::VERSION.gem", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": "mit AND bsd-simplified", + "declared_license_expression_spdx": "MIT AND BSD-2-Clause", + "license_detections": [ + { + "license_expression": "mit AND bsd-simplified", + "matches": [ + { + "score": 100, + "start_line": 8, + "end_line": 8, + "matched_length": 4, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit AND bsd-simplified", + "rule_identifier": "mit_and_bsd-simplified_5.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_and_bsd-simplified_5.RULE", + "matched_text": "MIT', 'BSD-2-Clause']" + } + ], + "identifier": "mit_and_bsd_simplified-8407e5bc-09d7-2cec-dd3a-65f82010080c" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://rubygems.org/gems/mocha/versions/Mocha::VERSION", + "repository_download_url": "https://rubygems.org/downloads/mocha-Mocha::VERSION.gem", + "api_data_url": "https://rubygems.org/api/v2/rubygems/mocha/versions/Mocha::VERSION.json", + "package_uid": "pkg:gem/mocha@Mocha::VERSION?uuid=543c89cd-4cb9-4457-8d41-c835282bf59d", + "datafile_paths": [ + "mocha.gemspec" + ], + "datasource_ids": [ + "gemspec" + ], + "purl": "pkg:gem/mocha@Mocha::VERSION" + } + ], + "dependencies": [ + { + "purl": "pkg:gem/ruby2_keywords", + "extracted_requirement": ">= 0.0.5", + "scope": "runtime", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:gem/ruby2_keywords?uuid=6020f253-625d-4d9d-9d0e-92b6eae5c057", + "for_package_uid": "pkg:gem/mocha@Mocha::VERSION?uuid=543c89cd-4cb9-4457-8d41-c835282bf59d", + "datafile_path": "mocha.gemspec", + "datasource_id": "gemspec" + } + ], + "license_detections": [ + { + "identifier": "mit-9967e727-165e-9bb5-f090-7de5e47a3929", + "license_expression": "mit", + "detection_count": 3 + }, + { + "identifier": "mit-d90925e6-b1e6-ed57-dd0d-29125a511567", + "license_expression": "mit", + "detection_count": 2 + }, + { + "identifier": "mit-cacd5c0c-204a-85c2-affc-e4c125b2492a", + "license_expression": "mit", + "detection_count": 1 + }, + { + "identifier": "mit_and_bsd_simplified-8407e5bc-09d7-2cec-dd3a-65f82010080c", + "license_expression": "mit AND bsd-simplified", + "detection_count": 2 + } + ], + "tallies": { + "detected_license_expression": [ + { + "value": null, + "count": 91 + }, + { + "value": "mit", + "count": 6 + }, + { + "value": "mit AND bsd-simplified", + "count": 1 + } + ], + "copyrights": [ + { + "value": null, + "count": 94 + }, + { + "value": "Copyright James Mead", + "count": 2 + }, + { + "value": "(c) Copyright James Mead", + "count": 1 + } + ], + "holders": [ + { + "value": null, + "count": 94 + }, + { + "value": "James Mead", + "count": 3 + } + ], + "authors": [ + { + "value": null, + "count": 96 + }, + { + "value": "tomafro. Remove", + "count": 1 + } + ], + "programming_language": [ + { + "value": "Ruby", + "count": 85 + } + ] + }, + "tallies_of_key_files": { + "detected_license_expression": [ + { + "value": "mit", + "count": 3 + } + ], + "copyrights": [ + { + "value": "Copyright James Mead", + "count": 2 + }, + { + "value": "(c) Copyright James Mead", + "count": 1 + } + ], + "holders": [ + { + "value": "James Mead", + "count": 3 + } + ], + "authors": [], + "programming_language": [] + }, + "license_references": [ + { + "key": "bsd-simplified", + "language": "en", + "short_name": "BSD-2-Clause", + "name": "BSD-2-Clause", + "category": "Permissive", + "owner": "Regents of the University of California", + "homepage_url": "http://www.opensource.org/licenses/BSD-2-Clause", + "notes": "Per SPDX.org, this license is OSI certified.", + "is_builtin": true, + "is_exception": false, + "is_unknown": false, + "is_generic": false, + "spdx_license_key": "BSD-2-Clause", + "other_spdx_license_keys": [ + "BSD-2-Clause-NetBSD", + "BSD-2" + ], + "osi_license_key": null, + "text_urls": [ + "http://opensource.org/licenses/bsd-license.php" + ], + "osi_url": "http://opensource.org/licenses/bsd-license.php", + "faq_url": null, + "other_urls": [ + "http://spdx.org/licenses/BSD-2-Clause", + "http://www.freebsd.org/copyright/copyright.html", + "https://opensource.org/licenses/BSD-2-Clause" + ], + "key_aliases": [], + "minimum_coverage": 0, + "standard_notice": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "Redistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\nRedistributions of source code must retain the above copyright notice, this list\nof conditions and the following disclaimer.\n\nRedistributions in binary form must reproduce the above copyright notice, this\nlist of conditions and the following disclaimer in the documentation and/or\nother materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "scancode_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-simplified.LICENSE", + "licensedb_url": "https://scancode-licensedb.aboutcode.org/bsd-simplified", + "spdx_url": "https://spdx.org/licenses/BSD-2-Clause" + }, + { + "key": "mit", + "language": "en", + "short_name": "MIT License", + "name": "MIT License", + "category": "Permissive", + "owner": "MIT", + "homepage_url": "http://opensource.org/licenses/mit-license.php", + "notes": "Per SPDX.org, this license is OSI certified.", + "is_builtin": true, + "is_exception": false, + "is_unknown": false, + "is_generic": false, + "spdx_license_key": "MIT", + "other_spdx_license_keys": [ + "LicenseRef-MIT-Bootstrap", + "LicenseRef-MIT-Discord", + "LicenseRef-MIT-TC", + "LicenseRef-MIT-Diehl" + ], + "osi_license_key": null, + "text_urls": [ + "http://opensource.org/licenses/mit-license.php" + ], + "osi_url": "http://www.opensource.org/licenses/MIT", + "faq_url": "https://ieeexplore.ieee.org/document/9263265", + "other_urls": [ + "https://opensource.com/article/18/3/patent-grant-mit-license", + "https://opensource.com/article/19/4/history-mit-license", + "https://opensource.org/licenses/MIT" + ], + "key_aliases": [], + "minimum_coverage": 0, + "standard_notice": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "Permission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.", + "scancode_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "licensedb_url": "https://scancode-licensedb.aboutcode.org/mit", + "spdx_url": "https://spdx.org/licenses/MIT" + } + ], + "license_rule_references": [ + { + "license_expression": "mit", + "identifier": "mit.LICENSE", + "language": "en", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "is_license_text": true, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": true, + "is_synthetic": false, + "length": 161, + "relevance": 100, + "minimum_coverage": 0, + "referenced_filenames": [], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "Permission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." + }, + { + "license_expression": "mit", + "identifier": "mit_14.RULE", + "language": "en", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": false, + "is_synthetic": false, + "length": 2, + "relevance": 100, + "minimum_coverage": 100, + "referenced_filenames": [], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "MIT license" + }, + { + "license_expression": "mit", + "identifier": "mit_480.RULE", + "language": "en", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_480.RULE", + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": false, + "is_synthetic": false, + "length": 5, + "relevance": 100, + "minimum_coverage": 80, + "referenced_filenames": [], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [ + "https://mit-license.org/" + ], + "ignorable_emails": [], + "text": "* @license https://mit-license.org/" + }, + { + "license_expression": "mit", + "identifier": "mit_88.RULE", + "language": "en", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_88.RULE", + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": false, + "is_synthetic": false, + "length": 4, + "relevance": 100, + "minimum_coverage": 80, + "referenced_filenames": [], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "under the MIT license" + }, + { + "license_expression": "mit AND bsd-simplified", + "identifier": "mit_and_bsd-simplified_5.RULE", + "language": "en", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_and_bsd-simplified_5.RULE", + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": false, + "is_synthetic": false, + "length": 4, + "relevance": 100, + "minimum_coverage": 80, + "referenced_filenames": [], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "MIT & BSD-2-Clause." + } + ], + "files": [ + { + "path": ".gemtest", + "type": "file", + "name": ".gemtest", + "base_name": ".gemtest", + "extension": "", + "size": 0, + "date": "2023-07-27", + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": "inode/x-empty", + "file_type": "empty", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": ".rubocop.yml", + "type": "file", + "name": ".rubocop.yml", + "base_name": ".rubocop", + "extension": ".yml", + "size": 1545, + "date": "2023-07-27", + "sha1": "0403367a0de892e45a2d74e2ebce10385150dc22", + "md5": "713be9e6a9302361a9f6629f823de5f4", + "sha256": "152b46042b0045e4e81a47cb57e953775a5526b1cd7827ea91f39aa1a8986f96", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": ".rubocop_todo.yml", + "type": "file", + "name": ".rubocop_todo.yml", + "base_name": ".rubocop_todo", + "extension": ".yml", + "size": 812, + "date": "2023-07-27", + "sha1": "363a67bd33e178cf1cbf4877f4b3a76326b21815", + "md5": "1d44b5dbbd0f56072d0f408d24b2bb59", + "sha256": "388c7b749e2971c38526672435f76beaea200f7b893945a19187e1c78df359fc", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": true, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": ".yardopts", + "type": "file", + "name": ".yardopts", + "base_name": ".yardopts", + "extension": "", + "size": 560, + "date": "2023-07-27", + "sha1": "1601920639cacd25e2e1e224fa400ef141b7b5c9", + "md5": "67082585f8ea0e3de0c0c459c2066985", + "sha256": "c7810c4b821f67fb43b25bd77d98ce334267de6b92b2b0d754a086f7b29ba753", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": false, + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 23, + "end_line": 23, + "matched_length": 2, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_14.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", + "matched_text": "MIT-LICENSE." + } + ], + "identifier": "mit-9967e727-165e-9bb5-f090-7de5e47a3929" + } + ], + "license_clues": [], + "percentage_of_license_text": 2.13, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "CONTRIBUTING.md", + "type": "file", + "name": "CONTRIBUTING.md", + "base_name": "CONTRIBUTING", + "extension": ".md", + "size": 357, + "date": "2023-07-27", + "sha1": "95e4ff6f9b9b15e2d9f141e5d32fccb04eeabebe", + "md5": "e310021e127465b7715fa020649da9fb", + "sha256": "1e517b1bbc247f8fb64927293d35d63057c8f4dc162a737cbaf353b22616a07c", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://app.circleci.com/pipelines/github/freerange/mocha", + "start_line": 6, + "end_line": 6 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "COPYING.md", + "type": "file", + "name": "COPYING.md", + "base_name": "COPYING", + "extension": ".md", + "size": 215, + "date": "2023-07-27", + "sha1": "5e8a0f54520934a36a6811047cea73d7ff217828", + "md5": "cb56d404b203815d75bc1ec232046090", + "sha256": "229bf3426c45f2eb0394edcae6a852d0a4cfde02f6eb75dfe66989d5a1642a07", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": true, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": true, + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 3, + "end_line": 3, + "matched_length": 4, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_88.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_88.RULE", + "matched_text": "under the [MIT license](" + }, + { + "score": 100, + "start_line": 3, + "end_line": 3, + "matched_length": 5, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_480.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_480.RULE", + "matched_text": "license](https://mit-license.org/)." + } + ], + "identifier": "mit-d90925e6-b1e6-ed57-dd0d-29125a511567" + } + ], + "license_clues": [], + "percentage_of_license_text": 21.62, + "copyrights": [ + { + "copyright": "Copyright James Mead 2006", + "start_line": 1, + "end_line": 1 + } + ], + "holders": [ + { + "holder": "James Mead", + "start_line": 1, + "end_line": 1 + } + ], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.ruby-lang.org/en/about/license.txt", + "start_line": 3, + "end_line": 3 + }, + { + "url": "https://mit-license.org/", + "start_line": 3, + "end_line": 3 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "Gemfile", + "type": "file", + "name": "Gemfile", + "base_name": "Gemfile", + "extension": "", + "size": 571, + "date": "2023-07-27", + "sha1": "fbf3bf5af24e081a33869606d98693cfa9dc9d1f", + "md5": "a9698f1279373aea7b5819aff4e132e0", + "sha256": "1832faad7b6683ac5884a978ff9c27faa651943a34b9d090863b2e4f063a777a", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://rubygems.org/", + "start_line": 1, + "end_line": 1 + }, + { + "url": "https://bugs.ruby-lang.org/issues/17866", + "start_line": 15, + "end_line": 15 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "MIT-LICENSE.md", + "type": "file", + "name": "MIT-LICENSE.md", + "base_name": "MIT-LICENSE", + "extension": ".md", + "size": 1054, + "date": "2023-07-27", + "sha1": "68af36c1c2adc0bec53b8394175f521a1aac75cd", + "md5": "2da9bfdee4b5ead3cc9c528c5f2561ce", + "sha256": "85fc7a2e6f89b9befdda55f11f943cc73eb92dab2c3a2f6af4144219502ab7c2", + "mime_type": "text/plain", + "file_type": "ASCII text, with very long lines", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": true, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": true, + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 3, + "end_line": 7, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." + } + ], + "identifier": "mit-cacd5c0c-204a-85c2-affc-e4c125b2492a" + } + ], + "license_clues": [], + "percentage_of_license_text": 96.99, + "copyrights": [ + { + "copyright": "Copyright (c) 2006 James Mead", + "start_line": 1, + "end_line": 1 + } + ], + "holders": [ + { + "holder": "James Mead", + "start_line": 1, + "end_line": 1 + } + ], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "mocha.gemspec", + "type": "file", + "name": "mocha.gemspec", + "base_name": "mocha", + "extension": ".gemspec", + "size": 899, + "date": "2023-07-27", + "sha1": "4f8118598203d8434a13fb1aba82ecb020b880ed", + "md5": "4b5784101ad8d3554a8a7f8ea2ae2d27", + "sha256": "dd729822b0e663b2b0fe42fd078c6a76bf71126b79967b15e63667745e6847dd", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [ + { + "type": "gem", + "namespace": null, + "name": "mocha", + "version": "Mocha::VERSION", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "Mocking and stubbing library with JMock/SchMock syntax, which allows mocking and stubbing of methods on real (non-mock) classes.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "James Mead", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": null, + "email": "mocha-developer@googlegroups.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://mocha.jamesmead.org", + "download_url": "https://rubygems.org/downloads/mocha-Mocha::VERSION.gem", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": "mit AND bsd-simplified", + "declared_license_expression_spdx": "MIT AND BSD-2-Clause", + "license_detections": [ + { + "license_expression": "mit AND bsd-simplified", + "matches": [ + { + "score": 100, + "start_line": 8, + "end_line": 8, + "matched_length": 4, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit AND bsd-simplified", + "rule_identifier": "mit_and_bsd-simplified_5.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_and_bsd-simplified_5.RULE", + "matched_text": "MIT', 'BSD-2-Clause']" + } + ], + "identifier": "mit_and_bsd_simplified-8407e5bc-09d7-2cec-dd3a-65f82010080c" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:gem/ruby2_keywords", + "extracted_requirement": ">= 0.0.5", + "scope": "runtime", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": "https://rubygems.org/gems/mocha/versions/Mocha::VERSION", + "repository_download_url": "https://rubygems.org/downloads/mocha-Mocha::VERSION.gem", + "api_data_url": "https://rubygems.org/api/v2/rubygems/mocha/versions/Mocha::VERSION.json", + "datasource_id": "gemspec", + "purl": "pkg:gem/mocha@Mocha::VERSION" + } + ], + "for_packages": [ + "pkg:gem/mocha@Mocha::VERSION?uuid=543c89cd-4cb9-4457-8d41-c835282bf59d" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "mit AND bsd-simplified", + "detected_license_expression_spdx": "MIT AND BSD-2-Clause", + "license_detections": [ + { + "license_expression": "mit AND bsd-simplified", + "matches": [ + { + "score": 100, + "start_line": 8, + "end_line": 8, + "matched_length": 4, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit AND bsd-simplified", + "rule_identifier": "mit_and_bsd-simplified_5.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_and_bsd-simplified_5.RULE", + "matched_text": "MIT', 'BSD-2-Clause']" + } + ], + "identifier": "mit_and_bsd_simplified-8407e5bc-09d7-2cec-dd3a-65f82010080c" + } + ], + "license_clues": [], + "percentage_of_license_text": 3.01, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [ + { + "email": "mocha-developer@googlegroups.com", + "start_line": 13, + "end_line": 13 + } + ], + "urls": [ + { + "url": "https://mocha.jamesmead.org/", + "start_line": 21, + "end_line": 21 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "Rakefile", + "type": "file", + "name": "Rakefile", + "base_name": "Rakefile", + "extension": "", + "size": 4546, + "date": "2023-07-27", + "sha1": "f3151943d151636577f97b1c62df218b59d3eff4", + "md5": "195685887c01a0c625703201a0799220", + "sha256": "845fc5cd7395c13c3c73b1a0f17448f3a30e79e69fcb092fd1e7985f85a40468", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "README.md", + "type": "file", + "name": "README.md", + "base_name": "README", + "extension": ".md", + "size": 13379, + "date": "2023-07-27", + "sha1": "5f6b908ae3f9e92dffd023de254db1d5283c0a48", + "md5": "531695992d97d5fc8a376e859e29f044", + "sha256": "3b7d7abc5745a5a75f0d2891cd18832f9b678a3c39d09df205ad4ad47a725ae8", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text, with very long lines", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": true, + "is_top_level": true, + "is_key_file": true, + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 367, + "end_line": 367, + "matched_length": 4, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_88.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_88.RULE", + "matched_text": "under the [MIT license](" + }, + { + "score": 100, + "start_line": 367, + "end_line": 367, + "matched_length": 5, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_480.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_480.RULE", + "matched_text": "license](https://mit-license.org/)." + } + ], + "identifier": "mit-d90925e6-b1e6-ed57-dd0d-29125a511567" + } + ], + "license_clues": [], + "percentage_of_license_text": 0.4, + "copyrights": [ + { + "copyright": "(c) Copyright James Mead 2006", + "start_line": 365, + "end_line": 365 + } + ], + "holders": [ + { + "holder": "James Mead", + "start_line": 365, + "end_line": 365 + } + ], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://circleci.com/gh/freerange/mocha.svg?style=shield", + "start_line": 1, + "end_line": 1 + }, + { + "url": "https://app.circleci.com/pipelines/github/freerange/mocha", + "start_line": 1, + "end_line": 1 + }, + { + "url": "https://badge.fury.io/rb/mocha.svg", + "start_line": 1, + "end_line": 1 + }, + { + "url": "http://badge.fury.io/rb/mocha", + "start_line": 1, + "end_line": 1 + }, + { + "url": "http://xunitpatterns.com/Mock%20Object.html", + "start_line": 5, + "end_line": 5 + }, + { + "url": "http://xunitpatterns.com/Test%20Stub.html", + "start_line": 5, + "end_line": 5 + }, + { + "url": "http://xunitpatterns.com/Fake%20Object.html", + "start_line": 5, + "end_line": 5 + }, + { + "url": "http://xunitpatterns.com/Test%20Spy.html", + "start_line": 5, + "end_line": 5 + }, + { + "url": "http://xunitpatterns.com/Test%20Double.html", + "start_line": 11, + "end_line": 11 + }, + { + "url": "https://bugs.ruby-lang.org/issues/12832", + "start_line": 125, + "end_line": 125 + }, + { + "url": "https://bugs.ruby-lang.org/issues/12876", + "start_line": 126, + "end_line": 126 + }, + { + "url": "https://mocha.jamesmead.org/Mocha/Mock.html", + "start_line": 287, + "end_line": 287 + }, + { + "url": "https://mocha.jamesmead.org/Mocha/Configuration.html", + "start_line": 298, + "end_line": 298 + }, + { + "url": "https://semver.org/", + "start_line": 307, + "end_line": 307 + }, + { + "url": "https://mocha.jamesmead.org/", + "start_line": 313, + "end_line": 313 + }, + { + "url": "http://github.com/freerange/mocha", + "start_line": 314, + "end_line": 314 + }, + { + "url": "http://groups.google.com/group/mocha-developer", + "start_line": 315, + "end_line": 315 + }, + { + "url": "http://jamesmead.org/blog", + "start_line": 316, + "end_line": 316 + }, + { + "url": "http://jamesmead.org/talks/2007-07-09-introduction-to-mock-objects-in-ruby-at-lrug", + "start_line": 317, + "end_line": 317 + }, + { + "url": "http://martinfowler.com/articles/mocksArentStubs.html", + "start_line": 318, + "end_line": 318 + }, + { + "url": "http://www.growing-object-oriented-software.com/", + "start_line": 319, + "end_line": 319 + }, + { + "url": "http://www.jmock.org/oopsla2004.pdf", + "start_line": 320, + "end_line": 320 + }, + { + "url": "http://www.jmock.org/", + "start_line": 321, + "end_line": 321 + }, + { + "url": "https://github.com/freerange/mocha/graphs/contributors", + "start_line": 325, + "end_line": 325 + }, + { + "url": "https://rubygems.org/profile/edit", + "start_line": 342, + "end_line": 342 + }, + { + "url": "https://rubygems.org/api/v1/api_key.yaml", + "start_line": 345, + "end_line": 345 + }, + { + "url": "http://www.reevoo.com/", + "start_line": 361, + "end_line": 361 + }, + { + "url": "https://www.ruby-lang.org/en/about/license.txt", + "start_line": 367, + "end_line": 367 + }, + { + "url": "https://mit-license.org/", + "start_line": 367, + "end_line": 367 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "RELEASE.md", + "type": "file", + "name": "RELEASE.md", + "base_name": "RELEASE", + "extension": ".md", + "size": 60121, + "date": "2023-07-27", + "sha1": "c9118471c51b649393f186b9ad510542c6a24abd", + "md5": "7a814bfbca1cd75e54a8394b80aa10f9", + "sha256": "b529f4cc20d5c35c0c8d9ed08b3bcac3e665d6797c7c65724fc926520f6e5d68", + "mime_type": "text/plain", + "file_type": "ASCII text, with very long lines", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": false, + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 42, + "end_line": 42, + "matched_length": 2, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_14.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", + "matched_text": "MIT-LICENSE." + } + ], + "identifier": "mit-9967e727-165e-9bb5-f090-7de5e47a3929" + }, + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 861, + "end_line": 861, + "matched_length": 2, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_14.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", + "matched_text": "MIT license" + } + ], + "identifier": "mit-9967e727-165e-9bb5-f090-7de5e47a3929" + } + ], + "license_clues": [], + "percentage_of_license_text": 0.04, + "copyrights": [], + "holders": [], + "authors": [ + { + "author": "tomafro. Remove", + "start_line": 540, + "end_line": 541 + } + ], + "emails": [], + "urls": [ + { + "url": "https://gofreerange.com/mocha/docs", + "start_line": 322, + "end_line": 322 + }, + { + "url": "https://mocha.jamesmead.org/", + "start_line": 322, + "end_line": 322 + }, + { + "url": "https://github.com/freerange/mocha/compare/683ded...a17fde", + "start_line": 322, + "end_line": 322 + }, + { + "url": "https://github.com/freerange/mocha/compare/73af600...9732726", + "start_line": 349, + "end_line": 349 + }, + { + "url": "https://bugs.ruby-lang.org/issues/12832", + "start_line": 376, + "end_line": 376 + }, + { + "url": "http://gofreerange.com/mocha/docs", + "start_line": 524, + "end_line": 524 + }, + { + "url": "https://github.com/rails/rails/pull/5907", + "start_line": 530, + "end_line": 530 + }, + { + "url": "https://github.com/floehopper/mocha/issues/20", + "start_line": 582, + "end_line": 582 + }, + { + "url": "http://floehopper.lighthouseapp.com/projects/22289/tickets/52", + "start_line": 608, + "end_line": 608 + }, + { + "url": "http://floehopper.lighthouseapp.com/projects/22289-mocha/tickets/66", + "start_line": 609, + "end_line": 609 + }, + { + "url": "https://github.com/floehopper/mocha/issues#issue/6", + "start_line": 612, + "end_line": 612 + }, + { + "url": "https://github.com/floehopper/mocha/issues#issue/15", + "start_line": 613, + "end_line": 613 + }, + { + "url": "https://github.com/floehopper/mocha/issues/closed#issue/11", + "start_line": 614, + "end_line": 614 + }, + { + "url": "https://github.com/floehopper/mocha/issues/closed#issue/14", + "start_line": 615, + "end_line": 615 + }, + { + "url": "http://floehopper.lighthouseapp.com/projects/22289-mocha/tickets/50#ticket-50-13", + "start_line": 618, + "end_line": 618 + }, + { + "url": "http://floehopper.lighthouseapp.com/projects/22289/tickets/53", + "start_line": 636, + "end_line": 636 + }, + { + "url": "http://floehopper.lighthouseapp.com/projects/22289/tickets/51", + "start_line": 639, + "end_line": 639 + }, + { + "url": "http://gist.github.com/54177", + "start_line": 647, + "end_line": 647 + }, + { + "url": "http://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/2060", + "start_line": 652, + "end_line": 652 + }, + { + "url": "http://floehopper.lighthouseapp.com/projects/22289-mocha/tickets/41", + "start_line": 655, + "end_line": 655 + }, + { + "url": "http://floehopper.lighthouseapp.com/projects/22289-mocha/tickets/43", + "start_line": 656, + "end_line": 656 + }, + { + "url": "http://floehopper.lighthouseapp.com/projects/22289/tickets/49", + "start_line": 657, + "end_line": 657 + }, + { + "url": "http://intertwingly.net/blog/2008/01/07/Rake-Contrib-for-1-9", + "start_line": 664, + "end_line": 664 + }, + { + "url": "http://rubyforge.org/tracker/index.php?func=detail&aid=23055&group_id=1917&atid=7480", + "start_line": 669, + "end_line": 669 + }, + { + "url": "http://blog.jayfields.com/2008/07/ruby-underuse-of-modules.html", + "start_line": 675, + "end_line": 675 + }, + { + "url": "http://blog.jayfields.com/2008/07/ruby-redefine-method-behavior.html", + "start_line": 675, + "end_line": 675 + }, + { + "url": "http://www.dcmanges.com/blog/rubygems-0-9-5-platform-bug", + "start_line": 725, + "end_line": 725 + }, + { + "url": "http://rubygems.org/read/chapter/20#platform", + "start_line": 725, + "end_line": 725 + }, + { + "url": "http://ola-bini.blogspot.com/2008/01/ruby-antipattern-using-eval-without.html", + "start_line": 730, + "end_line": 730 + }, + { + "url": "http://rubyforge.org/tracker/index.php?func=detail&aid=18914&group_id=1917&atid=7477", + "start_line": 733, + "end_line": 733 + }, + { + "url": "http://rubyforge.org/tracker/index.php?func=detail&aid=18917&group_id=1917&atid=7477", + "start_line": 734, + "end_line": 734 + }, + { + "url": "http://rubyforge.org/tracker/index.php?func=detail&aid=18336&group_id=1917&atid=7477", + "start_line": 735, + "end_line": 735 + }, + { + "url": "http://rubyforge.org/tracker/index.php?func=detail&aid=17835&group_id=1917&atid=7477", + "start_line": 736, + "end_line": 736 + }, + { + "url": "http://rubyforge.org/tracker/index.php?func=detail&aid=17412&group_id=1917&atid=7477", + "start_line": 737, + "end_line": 737 + }, + { + "url": "http://rubyforge.org/tracker/index.php?func=detail&aid=15977&group_id=1917&atid=7477", + "start_line": 738, + "end_line": 738 + }, + { + "url": "http://rubyforge.org/tracker/index.php?func=detail&aid=11885&group_id=1917&atid=7477", + "start_line": 739, + "end_line": 739 + }, + { + "url": "http://www.lukeredpath.co.uk/", + "start_line": 880, + "end_line": 880 + }, + { + "url": "http://rspec.rubyforge.org/", + "start_line": 880, + "end_line": 880 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": ".github", + "type": "directory", + "name": ".github", + "base_name": ".github", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 1, + "dirs_count": 0, + "size_count": 19, + "scan_errors": [] + }, + { + "path": ".github/FUNDING.yml", + "type": "file", + "name": "FUNDING.yml", + "base_name": "FUNDING", + "extension": ".yml", + "size": 19, + "date": "2023-07-27", + "sha1": "f22b8473273fb4ef82b96f849b8c1f9d690571de", + "md5": "1d0381b7bda7ab8b8f4c2e4ca93a6c7d", + "sha256": "eba67cf616ea1edc33dd5a383af0bcb6fded31cb5c1a31ee1622cfc0760b8042", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "gemfiles", + "type": "directory", + "name": "gemfiles", + "base_name": "gemfiles", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 2, + "dirs_count": 0, + "size_count": 219, + "scan_errors": [] + }, + { + "path": "gemfiles/Gemfile.minitest.latest", + "type": "file", + "name": "Gemfile.minitest.latest", + "base_name": "Gemfile.minitest", + "extension": ".latest", + "size": 109, + "date": "2023-07-27", + "sha1": "74ddaab68d0467ac24153f0f279b8ce169b439a6", + "md5": "0b1cb0c0662c314cf91b950cd05f53e4", + "sha256": "f429c2826098f91357fe21407893ff9073530f0950cbd1557d7f006c5f04a9df", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://rubygems.org/", + "start_line": 1, + "end_line": 1 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "gemfiles/Gemfile.test-unit.latest", + "type": "file", + "name": "Gemfile.test-unit.latest", + "base_name": "Gemfile.test-unit", + "extension": ".latest", + "size": 110, + "date": "2023-07-27", + "sha1": "31d219ffac561ed7d37fc48ec466c30d88a5e95a", + "md5": "a2c94ed4bc6facbfaf32f5e48b9f3dd1", + "sha256": "8ee2e30081b9b21769109699785d9ca1da6f4454f9764e6cc932567255767ea1", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://rubygems.org/", + "start_line": 1, + "end_line": 1 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib", + "type": "directory", + "name": "lib", + "base_name": "lib", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 82, + "dirs_count": 6, + "size_count": 154722, + "scan_errors": [] + }, + { + "path": "lib/mocha.rb", + "type": "file", + "name": "mocha.rb", + "base_name": "mocha", + "extension": ".rb", + "size": 24, + "date": "2023-07-27", + "sha1": "b0e6a61cbdec03e7745883dc6cfa66e06dfba3f7", + "md5": "99a4b81212afec9af99820e428f9c089", + "sha256": "41fc5feeab9cf5b2c74bc00691ff24c08edcbcc93a1e5d9d70fc08ed13fd7f24", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha", + "type": "directory", + "name": "mocha", + "base_name": "mocha", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 81, + "dirs_count": 5, + "size_count": 154698, + "scan_errors": [] + }, + { + "path": "lib/mocha/any_instance_method.rb", + "type": "file", + "name": "any_instance_method.rb", + "base_name": "any_instance_method", + "extension": ".rb", + "size": 305, + "date": "2023-07-27", + "sha1": "1439be2a0c05d894a37f2d0e148685fe25aa3405", + "md5": "ef10498e68f350deeb505d6fc7f74e73", + "sha256": "c540d4e69a9a8ad48c1a8677239fdb1e32326f55a06a36571d4efdc0bb165a15", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/api.rb", + "type": "file", + "name": "api.rb", + "base_name": "api", + "extension": ".rb", + "size": 8691, + "date": "2023-07-27", + "sha1": "4039b32fd2cda9ede669835c1861b553812497ea", + "md5": "50517b74621608c5928a99bf2049cc50", + "sha256": "9d6584a54d3f3d15acec265eb9d214b307a3c842a36c2b3a08cb0e19c8b1e69e", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/argument_iterator.rb", + "type": "file", + "name": "argument_iterator.rb", + "base_name": "argument_iterator", + "extension": ".rb", + "size": 318, + "date": "2023-07-27", + "sha1": "19663156986318bfa95623780ffeeb56f0c49c3c", + "md5": "9510beba543e1de90941335500c81dd4", + "sha256": "259274fcae006570cd906ab779626f938c80c5ac973f97c549f054e3985945db", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/backtrace_filter.rb", + "type": "file", + "name": "backtrace_filter.rb", + "base_name": "backtrace_filter", + "extension": ".rb", + "size": 369, + "date": "2023-07-27", + "sha1": "eedff55bd886fca7554fb8e78f9d61155747c68e", + "md5": "34901f97ed656b09c5acc8fc20a10967", + "sha256": "192f5c98059b02347c8f2a017b02c092968ff3098831714beaa1f1ea0035dacb", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/block_matcher.rb", + "type": "file", + "name": "block_matcher.rb", + "base_name": "block_matcher", + "extension": ".rb", + "size": 487, + "date": "2023-07-27", + "sha1": "9766922356560d600a5268ef4215b40f64d6336f", + "md5": "8e9fbb7ce6e18b794f0438293ba46312", + "sha256": "6f6110b2a401725d68a0c8ff6d96e085986a1b1f7babd6fdb90d698043f1c735", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/cardinality.rb", + "type": "file", + "name": "cardinality.rb", + "base_name": "cardinality", + "extension": ".rb", + "size": 2314, + "date": "2023-07-27", + "sha1": "f05fb8c71a8a947eef04ca6fc9fd9151095dd7fa", + "md5": "5a4d9263a572bfff26f3402f4f518f4c", + "sha256": "d89e6ac731f53ae758fb3a89c425b0090bbacf2eec3b799aeec5cee3c61cdb3e", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/central.rb", + "type": "file", + "name": "central.rb", + "base_name": "central", + "extension": ".rb", + "size": 833, + "date": "2023-07-27", + "sha1": "359b09bde71952a8f21887d540f77ca9f74780c0", + "md5": "d1443013d9396dd1375fe70b9609de06", + "sha256": "a44bf7b8287806215a7e5d5b1b18d45a59cb056f5cdb1870a6c45b4aae0aa2b2", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/change_state_side_effect.rb", + "type": "file", + "name": "change_state_side_effect.rb", + "base_name": "change_state_side_effect", + "extension": ".rb", + "size": 223, + "date": "2023-07-27", + "sha1": "28d64c451c1376dca27e012bee109077c23471cd", + "md5": "99a909960d216e64c1b41ac6f9076643", + "sha256": "a70a58aea0c167730fd02be9624d412cf30c9940590172f88ac7fa3f61fa119b", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/class_methods.rb", + "type": "file", + "name": "class_methods.rb", + "base_name": "class_methods", + "extension": ".rb", + "size": 1977, + "date": "2023-07-27", + "sha1": "4b7e47dd5e912b819dc4044a7282fedc35eaa3af", + "md5": "06bcd2aa16fb836ac2217928bdf66d8d", + "sha256": "b35c43e400c673e252f619a0b52b9a4e0b01a6889d9c257f9318aa32060a9293", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/configuration.rb", + "type": "file", + "name": "configuration.rb", + "base_name": "configuration", + "extension": ".rb", + "size": 13226, + "date": "2023-07-27", + "sha1": "9a718123f703175a6bba5e3f950675b16446c77c", + "md5": "83bc95fa243a3f9e181f9820a2fbb145", + "sha256": "6308b46b83b8a284ddd472eb194fb20c44f1b47675a5f75ee290d6bb260ad1ad", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text, with very long lines", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "http://martinfowler.com/bliki/DefinitionOfRefactoring.html", + "start_line": 71, + "end_line": 71 + }, + { + "url": "http://www.jmock.org/oopsla2004.pdf", + "start_line": 100, + "end_line": 100 + }, + { + "url": "http://www.mockobjects.com/2007/04/test-smell-mocking-concrete-classes.html", + "start_line": 100, + "end_line": 100 + }, + { + "url": "http://java.sun.com/docs/books/tutorial/java/concepts/interface.html", + "start_line": 100, + "end_line": 100 + }, + { + "url": "https://www.ruby-lang.org/en/news/2019/12/12/separation-of-positional-and-keyword-arguments-in-ruby-3-0", + "start_line": 257, + "end_line": 257 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/debug.rb", + "type": "file", + "name": "debug.rb", + "base_name": "debug", + "extension": ".rb", + "size": 184, + "date": "2023-07-27", + "sha1": "dbce5f42f84603bcbf8633c278e016d05d1b9843", + "md5": "919c16c56c04180fd697ccf23e042cbe", + "sha256": "d09edb826c832dac4a36db71caf320455c166a237a6a8f749487894718f24c00", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/deprecation.rb", + "type": "file", + "name": "deprecation.rb", + "base_name": "deprecation", + "extension": ".rb", + "size": 477, + "date": "2023-07-27", + "sha1": "a80419c1f3aad9851256442b6325fbe3c953e32d", + "md5": "aa269713c60f29909673ff128d6607ae", + "sha256": "a9446913efe3b13d04687ba3ff6a19adb48856929338c6890d37096a85b23ee6", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/error_with_filtered_backtrace.rb", + "type": "file", + "name": "error_with_filtered_backtrace.rb", + "base_name": "error_with_filtered_backtrace", + "extension": ".rb", + "size": 298, + "date": "2023-07-27", + "sha1": "08e05fe6a524b705fbd3fe018b098e93646675a8", + "md5": "1fe0cc1025fc861f34104ee687387324", + "sha256": "fd378b2e44b37fd5305f99480b79c689690bd930c104071b1305693febf4c80e", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/exception_raiser.rb", + "type": "file", + "name": "exception_raiser.rb", + "base_name": "exception_raiser", + "extension": ".rb", + "size": 386, + "date": "2023-07-27", + "sha1": "4622a1a4f63802f0eb47208381e7ebe602d91e1d", + "md5": "09d69291a50d0b0f1e6a4402fb87d0c8", + "sha256": "afb517ab22e4e4b2512fd10da8e060df4de7daa3130807770a80f822ae8c3e51", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/expectation.rb", + "type": "file", + "name": "expectation.rb", + "base_name": "expectation", + "extension": ".rb", + "size": 29936, + "date": "2023-07-27", + "sha1": "972187d9adfae554f6d00595c61a730fc108c87b", + "md5": "d792349f8a881c02e88ff69375fca07e", + "sha256": "cf45651e9ba49e5b01290798d863486b9a6ae039db822c0f110d170fef7b97b8", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text, with very long lines", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.ruby-lang.org/en/news/2019/12/12/separation-of-positional-and-keyword-arguments-in-ruby-3-0", + "start_line": 196, + "end_line": 196 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/expectation_error.rb", + "type": "file", + "name": "expectation_error.rb", + "base_name": "expectation_error", + "extension": ".rb", + "size": 364, + "date": "2023-07-27", + "sha1": "000147be1e190892153adfd60876a8efe3684a75", + "md5": "dcd5b19941fa721a55557f133d53835f", + "sha256": "b2b63a4b09c5b113e2e0b08bdd351ba2abe41034f10b8918b851c93155daf11d", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/expectation_error_factory.rb", + "type": "file", + "name": "expectation_error_factory.rb", + "base_name": "expectation_error_factory", + "extension": ".rb", + "size": 1474, + "date": "2023-07-27", + "sha1": "b0e7788854eee11ac4af762d9f339daede96c1fa", + "md5": "0b0ec514b6e0c6f9cca602b26bef9090", + "sha256": "b8fb5ea723303fb32c0b88358978d1e9a77a1729cf439262cc9667cb765fee43", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/expectation_list.rb", + "type": "file", + "name": "expectation_list.rb", + "base_name": "expectation_list", + "extension": ".rb", + "size": 1215, + "date": "2023-07-27", + "sha1": "1fea4caefbbb9b0687a8e3ba565e8cf240c5ed88", + "md5": "d44bb13c4b8c67559c84fcd84c7270c4", + "sha256": "f3c75495b9fa170148553e96176488b459d5e5ba12c83231f215b704ecbb5fb0", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/hooks.rb", + "type": "file", + "name": "hooks.rb", + "base_name": "hooks", + "extension": ".rb", + "size": 1948, + "date": "2023-07-27", + "sha1": "15d318ddadddae42068c732715aa846a5214677c", + "md5": "8ed48ffe2c129ecb9b0a27bf9eea7d63", + "sha256": "856b66fbff48a883357928cffb35f52dfb44e608b12bfde03cb53c7445e0d284", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/in_state_ordering_constraint.rb", + "type": "file", + "name": "in_state_ordering_constraint.rb", + "base_name": "in_state_ordering_constraint", + "extension": ".rb", + "size": 291, + "date": "2023-07-27", + "sha1": "3e2fab3ddd0539d6047cbe3102343c346641f244", + "md5": "5a2439712e3417d306529200267b3d6b", + "sha256": "b8a11f652c170df8d79211fa4d1e0755f792291230aaeda6e14164dcdfc43256", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/inspect.rb", + "type": "file", + "name": "inspect.rb", + "base_name": "inspect", + "extension": ".rb", + "size": 1190, + "date": "2023-07-27", + "sha1": "981e0b41946ece42df82b93e5298620fcfef5125", + "md5": "d27a04bce8f0c3b0bc8a2f3b77a45f9d", + "sha256": "970d31bfd3d7f84d3ec69e353d4c7b85c36b40840734e55045b2f0e5233e9a5f", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/instance_method.rb", + "type": "file", + "name": "instance_method.rb", + "base_name": "instance_method", + "extension": ".rb", + "size": 297, + "date": "2023-07-27", + "sha1": "b4948115e801ba2c81db11824d118406b13d5b7f", + "md5": "9c4c16fbf0b8c141ef0085e867c5f794", + "sha256": "0cc1195f242af42521bc049e4120325236cfd69c34d36b594cfe84d2be843408", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/invocation.rb", + "type": "file", + "name": "invocation.rb", + "base_name": "invocation", + "extension": ".rb", + "size": 1768, + "date": "2023-07-27", + "sha1": "158bd6ea1a244690529f064eab8202ace994a891", + "md5": "4dcac7c4fab4df4eda7a5a1911f56939", + "sha256": "b31e67a87f7d6933b9405f6a4e35fd7747555a0fd19c17118529097e6294b59a", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/is_a.rb", + "type": "file", + "name": "is_a.rb", + "base_name": "is_a", + "extension": ".rb", + "size": 81, + "date": "2023-07-27", + "sha1": "cb43b509e7182cba6ffd17cac6aab15e88758ee7", + "md5": "e4c895f35a6edd23132d52ee39a62350", + "sha256": "0be5176c56aa3d845863f3a062055127973f6e8ad53da452895d75dc6b2d0345", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/logger.rb", + "type": "file", + "name": "logger.rb", + "base_name": "logger", + "extension": ".rb", + "size": 152, + "date": "2023-07-27", + "sha1": "3d9a9d62ef034cf10b12498d27716139dd579fe5", + "md5": "dd41d5c29425ae103d6d4ef1da3f70db", + "sha256": "de4db5cda8589cd8d8bb6d1256f1f01cb293a6bd676600626f56f0a5b8cb657c", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/macos_version.rb", + "type": "file", + "name": "macos_version.rb", + "base_name": "macos_version", + "extension": ".rb", + "size": 155, + "date": "2023-07-27", + "sha1": "51950b9c072ecd96dc444e639a0d4c4d2db21360", + "md5": "930e0a65146010c1d9243747579b8a49", + "sha256": "b561968b4432bcc4a1322455ac5fc54f467bcc9f4d283c79b39a438cfd7f7ec0", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/method_matcher.rb", + "type": "file", + "name": "method_matcher.rb", + "base_name": "method_matcher", + "extension": ".rb", + "size": 349, + "date": "2023-07-27", + "sha1": "e58c267aae6c5432822187bbe4188aa25901343d", + "md5": "e1f7460638b9a60e8b16a9c60da17d5c", + "sha256": "b571880bf69ba63e552f54c8ea1522fd100f673a537ba02940b51ab9a5224e74", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/minitest.rb", + "type": "file", + "name": "minitest.rb", + "base_name": "minitest", + "extension": ".rb", + "size": 188, + "date": "2023-07-27", + "sha1": "cd1942f3a76e09b0919d09b83cef8fb1e51e0c16", + "md5": "c5b3071fc5c8e44cda73c49e2eaa427a", + "sha256": "adb986b830684786349c642a972e62a7a6d6f64dc4f96e2810dbe4b5a9ca83d3", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/mock.rb", + "type": "file", + "name": "mock.rb", + "base_name": "mock", + "extension": ".rb", + "size": 16065, + "date": "2023-07-27", + "sha1": "bb576de8cf883a51788ea0a3b3830ba542866322", + "md5": "ffcec5732a2d0d4585011a9228b0e05f", + "sha256": "f634c9ed4494cde9d22912a8411310a4cff21b5ba996dd398d53c40c0e82c6d6", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/mockery.rb", + "type": "file", + "name": "mockery.rb", + "base_name": "mockery", + "extension": ".rb", + "size": 4835, + "date": "2023-07-27", + "sha1": "2dfcadb2a432ebc9ced60ea0ee1e44ad51aad0fb", + "md5": "cc3dcec462b5dc16643c5f32f29911e0", + "sha256": "7d6d536f8c53b3c01fb5fd41b3e7c95350d0e0c6981ea601022c92ec577fc049", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/names.rb", + "type": "file", + "name": "names.rb", + "base_name": "names", + "extension": ".rb", + "size": 724, + "date": "2023-07-27", + "sha1": "4a8d727df7e7238f4495a80395453c8260f806b2", + "md5": "d38aa8dc25160c01d0125e134cbcc995", + "sha256": "44b1d1a4fe9fce3e2756f6e25dcb64996f3f723608d2c2884ee55067ab78a27d", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/not_initialized_error.rb", + "type": "file", + "name": "not_initialized_error.rb", + "base_name": "not_initialized_error", + "extension": ".rb", + "size": 224, + "date": "2023-07-27", + "sha1": "28b39768fdcf0af990c34f5d8326e3e9110f27ac", + "md5": "bf371ce1ab93cf942ad7e3b8e7eeb9cb", + "sha256": "174885700538ec8c66ba01730d44560fe492bac578eefb1b4cff2d606fdfb346", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/object_methods.rb", + "type": "file", + "name": "object_methods.rb", + "base_name": "object_methods", + "extension": ".rb", + "size": 6755, + "date": "2023-07-27", + "sha1": "8edecd4ba83aa10d114e916ef83daf004d0eb391", + "md5": "1000429e5c023ef1641efd0d1048978d", + "sha256": "2d5dc2371d8eddd6a6d6b44078a11ee6c9dfd6d90de7aa651b73db1cd018017b", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameter_matchers.rb", + "type": "file", + "name": "parameter_matchers.rb", + "base_name": "parameter_matchers", + "extension": ".rb", + "size": 1134, + "date": "2023-07-27", + "sha1": "341c86067eee9ad22a54d0a13c15981e55296c6e", + "md5": "939e6703ae49a08d589dee8e5d1d04ac", + "sha256": "282dc74b6c586dec5e90ebd9421b2a48a29d7d5d0ba5ef797af03eed086f2b51", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameters_matcher.rb", + "type": "file", + "name": "parameters_matcher.rb", + "base_name": "parameters_matcher", + "extension": ".rb", + "size": 930, + "date": "2023-07-27", + "sha1": "c3026c1ec85104f99f2d4e0b5c24d1201b1c0287", + "md5": "9bffedc9bd185e49c3359033641ce12b", + "sha256": "66b058484e10c69b823a84c3a5bca3b72cb74ff8c4d9e26c2c8adc13f43ab105", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/raised_exception.rb", + "type": "file", + "name": "raised_exception.rb", + "base_name": "raised_exception", + "extension": ".rb", + "size": 174, + "date": "2023-07-27", + "sha1": "ae6657996e008196fc0e65b58f347d219402fe26", + "md5": "c6a13855760e296bb4c08df07666dcf8", + "sha256": "57223665c586068900a3d64c2f4196e0ae276e83e9b99e7b2911499ac5d1c247", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/receivers.rb", + "type": "file", + "name": "receivers.rb", + "base_name": "receivers", + "extension": ".rb", + "size": 763, + "date": "2023-07-27", + "sha1": "1047ab7df882990d214e06a0f64e475a41244bc4", + "md5": "436710382512e123911bd05cd19f4a64", + "sha256": "330376cf79163651260533bf69d31eb5baab8845f71b0f7a01219578bcd79c47", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/return_values.rb", + "type": "file", + "name": "return_values.rb", + "base_name": "return_values", + "extension": ".rb", + "size": 533, + "date": "2023-07-27", + "sha1": "5dda10221a7d072f0db0f35e4b63dee0e5f49742", + "md5": "f9e40d69a9020e0f4afc030244901cd6", + "sha256": "fa5796a9cc53bf52ec6b74e6de69633a0708d1599be1e61bf1f6321fc67d43e4", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/ruby_version.rb", + "type": "file", + "name": "ruby_version.rb", + "base_name": "ruby_version", + "extension": ".rb", + "size": 97, + "date": "2023-07-27", + "sha1": "ab2a3ebb274ff88c6dbb21b7de799bf5307ca8ac", + "md5": "99c4b5e7636a378ae7a52e8bd94dda5c", + "sha256": "2ec30d9a48af7bb6f9a75d68b394baf1449569b61189a56587dde575ac370752", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/sequence.rb", + "type": "file", + "name": "sequence.rb", + "base_name": "sequence", + "extension": ".rb", + "size": 1013, + "date": "2023-07-27", + "sha1": "cab1ed700e537e450889998693f15b96e6e8a491", + "md5": "dd1447badf0fc5f88f0425fdd2f2433c", + "sha256": "376b45e663aa241a3a97b9bfc1da15c2d84649d737c923dcbc90e9c865496b0b", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/single_return_value.rb", + "type": "file", + "name": "single_return_value.rb", + "base_name": "single_return_value", + "extension": ".rb", + "size": 211, + "date": "2023-07-27", + "sha1": "13f39a62c3aefcda7ccc130ce4bf3d81b8d223aa", + "md5": "173fbd891b43b313b7acbf5040e33225", + "sha256": "9aa0d54243cb389a9931a810b7f8e0f650b691f9287e3f1dab711598721cdfc1", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/state_machine.rb", + "type": "file", + "name": "state_machine.rb", + "base_name": "state_machine", + "extension": ".rb", + "size": 3911, + "date": "2023-07-27", + "sha1": "c2cdb6a5740d15ca1d83bc098327b52cd3ec718e", + "md5": "17a631814d6f3a6fc6d004d458815178", + "sha256": "25299340ca95faf31876e95d97d3eb9db33e0b68cd314bfcc8d9ca631dfd41e1", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/stubbed_method.rb", + "type": "file", + "name": "stubbed_method.rb", + "base_name": "stubbed_method", + "extension": ".rb", + "size": 2195, + "date": "2023-07-27", + "sha1": "159053bd1d6ba9f2156f84172dd62d14b44dbb6f", + "md5": "010cbfb22227a59a7604783df173164c", + "sha256": "a0a9be42a19de21e8c45c3e841d66f99be1e0bc56a70c0850408b5d9b8d49a31", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/stubbing_error.rb", + "type": "file", + "name": "stubbing_error.rb", + "base_name": "stubbing_error", + "extension": ".rb", + "size": 226, + "date": "2023-07-27", + "sha1": "c4c4dad26211e366593b915424fa018d8453cf54", + "md5": "9aa510fe943b0db693de21cd46be72af", + "sha256": "5122e19499f34a7a64890926eecb9717aa41e719566c98bdc2492334419ea8e5", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/test_unit.rb", + "type": "file", + "name": "test_unit.rb", + "base_name": "test_unit", + "extension": ".rb", + "size": 191, + "date": "2023-07-27", + "sha1": "3a91f1b6bda763e85dbdba60f3219c86f32dd9b9", + "md5": "5ec49ddbf84bdedc2c400399229c56f3", + "sha256": "107d8984c6525d04328b863efccfcda643bd6e2972e4681f170d142c207ba27c", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/thrower.rb", + "type": "file", + "name": "thrower.rb", + "base_name": "thrower", + "extension": ".rb", + "size": 227, + "date": "2023-07-27", + "sha1": "7b2fc145312110bfc607d95a07113f364744541a", + "md5": "cebad3a619acb71bd0675d34fe3d2d1f", + "sha256": "aa76098825b33cdc41852859907a8d7595ba5f8268a4780d8f4ec2068e22c46d", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/thrown_object.rb", + "type": "file", + "name": "thrown_object.rb", + "base_name": "thrown_object", + "extension": ".rb", + "size": 221, + "date": "2023-07-27", + "sha1": "6e8a315fb98960c77ee684b19ef2929df6273e5d", + "md5": "234172221b9ef5bfe12e10ba7b741500", + "sha256": "78e223530517a5eda99e313c10f198908bd4159a8993db278ce67144ac71f2c1", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/version.rb", + "type": "file", + "name": "version.rb", + "base_name": "version", + "extension": ".rb", + "size": 44, + "date": "2023-07-27", + "sha1": "dd3bb8d07e627f6e92751332adb5e0ef17a6b800", + "md5": "102377caa3189921d1c0d160eba11faf", + "sha256": "2d65b0974ce23b839e8e6934b9c48257ae116ac9bcb0bea9439619557672647f", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/yield_parameters.rb", + "type": "file", + "name": "yield_parameters.rb", + "base_name": "yield_parameters", + "extension": ".rb", + "size": 422, + "date": "2023-07-27", + "sha1": "ad888a9c4797ad6b891e63a29260939e2cff2b13", + "md5": "3fe4ee83585151f97d2d7cd27fcb0ed9", + "sha256": "64bdda8794a96b17d1ef26aad131a027cc17a5b3b45eab4dba31aa92149193f2", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/detection", + "type": "directory", + "name": "detection", + "base_name": "detection", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 2, + "dirs_count": 0, + "size_count": 1246, + "scan_errors": [] + }, + { + "path": "lib/mocha/detection/mini_test.rb", + "type": "file", + "name": "mini_test.rb", + "base_name": "mini_test", + "extension": ".rb", + "size": 503, + "date": "2023-07-27", + "sha1": "01b4cbdbd8ec44ca8035bcda9a40be14269f8410", + "md5": "cb5164bd5ec1c71cedca2854f0992c91", + "sha256": "3fbef5b59543f80fc29dffece7f2df8dee3ee7b8878821810eb42a2201ec6a14", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/detection/test_unit.rb", + "type": "file", + "name": "test_unit.rb", + "base_name": "test_unit", + "extension": ".rb", + "size": 743, + "date": "2023-07-27", + "sha1": "1a86294b78f81e4b1a98323e69da773e8ab1cfd1", + "md5": "71e08bfb3d922baaefb0a823824527a4", + "sha256": "32dcd9cf1d486a379e3aa511c47e432baf6cf3b6b2502de28a7952cb040548a0", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/integration", + "type": "directory", + "name": "integration", + "base_name": "integration", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 7, + "dirs_count": 2, + "size_count": 5486, + "scan_errors": [] + }, + { + "path": "lib/mocha/integration/assertion_counter.rb", + "type": "file", + "name": "assertion_counter.rb", + "base_name": "assertion_counter", + "extension": ".rb", + "size": 215, + "date": "2023-07-27", + "sha1": "29139f466a8e4c359a2c5666d8529d6ced3dc795", + "md5": "1a18f67fbaaaf53d2c160134f061bbba", + "sha256": "a8b51c4661503ae1f02c9c06fab8b61e72d1fced4b850c14f42bab980a44bd9e", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/integration/mini_test.rb", + "type": "file", + "name": "mini_test.rb", + "base_name": "mini_test", + "extension": ".rb", + "size": 779, + "date": "2023-07-27", + "sha1": "0e8cd1737a4186bac4b9fafc078bd6d3cbd8b737", + "md5": "b861da9d71e806d30147f2c5aaad5ba8", + "sha256": "83bb23c42d1166650a2a18617fbaeba71a3dedb863ca04e7834bbe497fcfb7a3", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/integration/monkey_patcher.rb", + "type": "file", + "name": "monkey_patcher.rb", + "base_name": "monkey_patcher", + "extension": ".rb", + "size": 731, + "date": "2023-07-27", + "sha1": "50f3ae1a4b52237f33191cd87f5b51392e458530", + "md5": "3f98f6b385fdfe51e8c63f7a8bf07129", + "sha256": "50ee8d7d814622defdcd0fc48fe26e07e40227a3dcd494621debdcd3200af510", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/integration/test_unit.rb", + "type": "file", + "name": "test_unit.rb", + "base_name": "test_unit", + "extension": ".rb", + "size": 782, + "date": "2023-07-27", + "sha1": "14b0655a6284fe028025579cf464357f29100121", + "md5": "b09a254dbfa8c33412594749fe49d427", + "sha256": "e37b3ed310f6704d79556e9203090d2f8dca022c183367a5d5f2538727c9c9f6", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/integration/mini_test", + "type": "directory", + "name": "mini_test", + "base_name": "mini_test", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 2, + "dirs_count": 0, + "size_count": 1635, + "scan_errors": [] + }, + { + "path": "lib/mocha/integration/mini_test/adapter.rb", + "type": "file", + "name": "adapter.rb", + "base_name": "adapter", + "extension": ".rb", + "size": 1238, + "date": "2023-07-27", + "sha1": "0c654f7e640ee75f25a656653b21d105e8a4fe08", + "md5": "2d3c632fb0000385d958f4666b14ee34", + "sha256": "7b4b2a4ddb1d456dae78406838ffd973ccd6e19fd872cb336158868c98809d6e", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/integration/mini_test/exception_translation.rb", + "type": "file", + "name": "exception_translation.rb", + "base_name": "exception_translation", + "extension": ".rb", + "size": 397, + "date": "2023-07-27", + "sha1": "1be60db2add05eb0ee33547fbd5ddae002a410f2", + "md5": "16a3e005bc2065fa38612e9191a2d1b6", + "sha256": "165d7e96703b1c67ececa14071723ba8b028e477780df94cc256815833794787", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/integration/test_unit", + "type": "directory", + "name": "test_unit", + "base_name": "test_unit", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 1, + "dirs_count": 0, + "size_count": 1344, + "scan_errors": [] + }, + { + "path": "lib/mocha/integration/test_unit/adapter.rb", + "type": "file", + "name": "adapter.rb", + "base_name": "adapter", + "extension": ".rb", + "size": 1344, + "date": "2023-07-27", + "sha1": "ce5dd88294b64ab0950e7fa68b6c00b765761d3e", + "md5": "821165269cf4ccd59d295cb0ecf5eb4e", + "sha256": "f4fd7d2144745b2b3c3343b4d83453d95f46cfb19e5027d51df6d5569212b7b3", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameter_matchers", + "type": "directory", + "name": "parameter_matchers", + "base_name": "parameter_matchers", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 23, + "dirs_count": 0, + "size_count": 37575, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameter_matchers/all_of.rb", + "type": "file", + "name": "all_of.rb", + "base_name": "all_of", + "extension": ".rb", + "size": 1333, + "date": "2023-07-27", + "sha1": "4be20bde834dc3558f1f9ccd7dc93acc56f7b7ae", + "md5": "45bf37c40f7b119bc0b6da4870984ba8", + "sha256": "b1dce0a3a0d8cb862acd945eb7eca50372c016fb0c65f60636440d8330391879", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameter_matchers/any_of.rb", + "type": "file", + "name": "any_of.rb", + "base_name": "any_of", + "extension": ".rb", + "size": 1442, + "date": "2023-07-27", + "sha1": "1d36f0827e019e165837efb994a191d2064ff75b", + "md5": "4159c1f4c4cef41f03deafb8b07a8d0a", + "sha256": "ebf0f8795077e7ee539e98625170eff6540611ef13dc4e730b60bd44ae772b44", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameter_matchers/any_parameters.rb", + "type": "file", + "name": "any_parameters.rb", + "base_name": "any_parameters", + "extension": ".rb", + "size": 1025, + "date": "2023-07-27", + "sha1": "ac981a9881ff5447935de97e2b9e86d261906068", + "md5": "cd5f0cddd1b0851ebc2cd7dab3bfe78c", + "sha256": "81aebc99a93b149f4be0a3f69830085c8b2875a08237d00bbd78056cd0bdffe5", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameter_matchers/anything.rb", + "type": "file", + "name": "anything.rb", + "base_name": "anything", + "extension": ".rb", + "size": 765, + "date": "2023-07-27", + "sha1": "a0b350decb82d4f12d396a137ab304d44d7d7ac6", + "md5": "0593331037f48e127f4a67caa6bc7dad", + "sha256": "847546d1ef40dadc53043801f78aee36236a7b8d5cf2f0e2e30938a8617a6568", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameter_matchers/base.rb", + "type": "file", + "name": "base.rb", + "base_name": "base", + "extension": ".rb", + "size": 2429, + "date": "2023-07-27", + "sha1": "f2ac2fd3f4d1e82a1f22956e905606abb2bcd055", + "md5": "2f3dd8eada069f7b3c80fae116d50b88", + "sha256": "964bc1657cb3bb2b689a1292c81720ccdb0f7c6c9fcddbf3b801d833cac0f230", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameter_matchers/equals.rb", + "type": "file", + "name": "equals.rb", + "base_name": "equals", + "extension": ".rb", + "size": 1210, + "date": "2023-07-27", + "sha1": "e2a716b09c624813ce08f04d1c32b7dc41b61fa8", + "md5": "634942f6f1abe1fb71dbce9cbef4713e", + "sha256": "b1fadf480e26697361c6830b715cda619f9681ec085b28a1ba10888dcb41093f", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameter_matchers/equivalent_uri.rb", + "type": "file", + "name": "equivalent_uri.rb", + "base_name": "equivalent_uri", + "extension": ".rb", + "size": 1644, + "date": "2023-07-27", + "sha1": "4d1c6b131b777ecef4398707d8ff486609ad737a", + "md5": "f3e454dc833fe8c84a429c1bd3b1602f", + "sha256": "e05a87df37db67cc5840febf3cddd283133b45cbf624f50a3704f96209512676", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameter_matchers/has_entries.rb", + "type": "file", + "name": "has_entries.rb", + "base_name": "has_entries", + "extension": ".rb", + "size": 1669, + "date": "2023-07-27", + "sha1": "aa4195aaaefcee62b96932bd34309693f9c7816d", + "md5": "06ab87ff22d09ce8989820be613cb34f", + "sha256": "04621b6c46c98590537cde051a2497137437f8f0a23d48097c9bd79f3dcc190f", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameter_matchers/has_entry.rb", + "type": "file", + "name": "has_entry.rb", + "base_name": "has_entry", + "extension": ".rb", + "size": 3412, + "date": "2023-07-27", + "sha1": "f2aabcdcd5d490d8442a87e45ccfc0543cd0545e", + "md5": "e1ecf6fdef97540a272c78e8233b05a5", + "sha256": "d7ad199829f7b3d5557a35edec3e39c95d17d7172c75ebf94886d82bc95eafea", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameter_matchers/has_key.rb", + "type": "file", + "name": "has_key.rb", + "base_name": "has_key", + "extension": ".rb", + "size": 1410, + "date": "2023-07-27", + "sha1": "0324b8d643d30903d1502827ffa41c59f34f75b8", + "md5": "3cc78153ec98d59c556f3c5ecaf83b76", + "sha256": "aa6433cf22ee6805e016b3008ae494b3af1a17acb8ea0e0e0453854cb5e2b32d", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameter_matchers/has_keys.rb", + "type": "file", + "name": "has_keys.rb", + "base_name": "has_keys", + "extension": ".rb", + "size": 1603, + "date": "2023-07-27", + "sha1": "998c2c45365fdf230e8a41e74fa9692d11b3d1e4", + "md5": "3a021a2e29ae42a9db942adabafd1c0b", + "sha256": "a81940022e3f0a0f8b80d99e2ca097f5d4e071ea5fdeeb58dab2200d7a195a32", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameter_matchers/has_value.rb", + "type": "file", + "name": "has_value.rb", + "base_name": "has_value", + "extension": ".rb", + "size": 1442, + "date": "2023-07-27", + "sha1": "945936ef00532e9f2d0e78aee7bd73f594e9208d", + "md5": "dfb36632e51cfeb699ae6cd33518ce65", + "sha256": "c0569fb09e3a3b261fdc9f26c8237d2d24070c9afc78a6c2870d7643bfc7f71f", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameter_matchers/includes.rb", + "type": "file", + "name": "includes.rb", + "base_name": "includes", + "extension": ".rb", + "size": 3757, + "date": "2023-07-27", + "sha1": "d88447a7067a4d80ae950142bc6481526abb191e", + "md5": "df65eb2b49c0586508b5fd00138a9b20", + "sha256": "0546042209086f76721cda02164248f2660346f290cf90dd8571e6011c5c86a5", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameter_matchers/instance_methods.rb", + "type": "file", + "name": "instance_methods.rb", + "base_name": "instance_methods", + "extension": ".rb", + "size": 564, + "date": "2023-07-27", + "sha1": "d521963bb8fe345cf0b37c59bbbce7ccdef73d07", + "md5": "a518a1635f9d8589305a4ca760d6312c", + "sha256": "ab0461255a8a6cc124fb03c8acd09d2e25c28d38597bfcaf594a7766e5623732", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameter_matchers/instance_of.rb", + "type": "file", + "name": "instance_of.rb", + "base_name": "instance_of", + "extension": ".rb", + "size": 1313, + "date": "2023-07-27", + "sha1": "06ff3366a5b865f07158ebb6b544985ae76503e8", + "md5": "69a81197874ff4e23e5c8451a735cfd9", + "sha256": "a6b4eca1ebd750756c674719b55aee9f0df3e05a5b234d644eff9174051f950e", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameter_matchers/is_a.rb", + "type": "file", + "name": "is_a.rb", + "base_name": "is_a", + "extension": ".rb", + "size": 1232, + "date": "2023-07-27", + "sha1": "5fc9344f5d8894968db4cacb4c15ee2a5845af59", + "md5": "cb8b611c246e29370e4742acb0e5d838", + "sha256": "8cc46310c3251b0f2580cdf802f22ea8e1fd2ff1880ed898351345dfda1009ec", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameter_matchers/kind_of.rb", + "type": "file", + "name": "kind_of.rb", + "base_name": "kind_of", + "extension": ".rb", + "size": 1341, + "date": "2023-07-27", + "sha1": "d72383fc0e60e2b2d16ccf9215aa74dc4573f594", + "md5": "a9c5c9015c5699655008fffdeb96a2b2", + "sha256": "07272527037522998e15b3bfab2fef1e16ff613f71d5dd497486e089503f1b2c", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameter_matchers/not.rb", + "type": "file", + "name": "not.rb", + "base_name": "not", + "extension": ".rb", + "size": 1316, + "date": "2023-07-27", + "sha1": "3d6202b3288e28cd06c2e87bd4558f94dfb3d7e7", + "md5": "349724c1b45a5543b2f9ff1301f6a60c", + "sha256": "5a065c4d11351a974dc8e8b95ae2e71e874086ccbaa2f9a0825ec75049caa5ef", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameter_matchers/optionally.rb", + "type": "file", + "name": "optionally.rb", + "base_name": "optionally", + "extension": ".rb", + "size": 2078, + "date": "2023-07-27", + "sha1": "bf218ea000adcee3c526a35f82f74b4f8a3be7af", + "md5": "eb76a44e1d2fd7783c36cfad343b32ad", + "sha256": "0fee9c9422bb76ea421efba17a948e92bc3362352c6987df2fb6bc331abd04a0", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameter_matchers/positional_or_keyword_hash.rb", + "type": "file", + "name": "positional_or_keyword_hash.rb", + "base_name": "positional_or_keyword_hash", + "extension": ".rb", + "size": 2010, + "date": "2023-07-27", + "sha1": "49ce4824efef3c9f3a3aae98d1acead6aca66ccc", + "md5": "3581d98460fa1cfe18b3346775934850", + "sha256": "dbb8f1a76ef77b36e7db5d4eb2734f5f26eeedd329adc4f0c8026bb4fa9c7480", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameter_matchers/regexp_matches.rb", + "type": "file", + "name": "regexp_matches.rb", + "base_name": "regexp_matches", + "extension": ".rb", + "size": 1423, + "date": "2023-07-27", + "sha1": "ffa946d2d99784f6249f896faa495d725012cebc", + "md5": "1e37a449f257829f6544ae6593e376ef", + "sha256": "d0d1a072eb3f8d338cd7230037eca3749a764ee1944c1c4a5f0195cd06a97a58", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameter_matchers/responds_with.rb", + "type": "file", + "name": "responds_with.rb", + "base_name": "responds_with", + "extension": ".rb", + "size": 1640, + "date": "2023-07-27", + "sha1": "e7199dd945d235d5401f12f1a139e4dc370c33c0", + "md5": "d9da78c7a4855bc3fa60882f89100079", + "sha256": "1f0b3b8b4489e979b73a0200a9e873a6656617382d67f4a1cd8185fd06bdfeeb", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "lib/mocha/parameter_matchers/yaml_equivalent.rb", + "type": "file", + "name": "yaml_equivalent.rb", + "base_name": "yaml_equivalent", + "extension": ".rb", + "size": 1517, + "date": "2023-07-27", + "sha1": "e93de26dc5f0d9f8ad0f23c1624fe17572756823", + "md5": "b7dd90a6124d6400ddb453dedd60bedc", + "sha256": "3d13424fe26935d0bf6ea431b6b9cb0f498aff1e874df9677608fef2432889d4", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Ruby", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + } + ] + } +} diff --git a/test/fixtures/scancode/32.0.8/git.json b/test/fixtures/scancode/32.0.8/git.json new file mode 100644 index 000000000..4c516de6f --- /dev/null +++ b/test/fixtures/scancode/32.0.8/git.json @@ -0,0 +1,1213 @@ +{ + "_metadata": { + "type": "scancode", + "url": "cd:/git/github/microsoft/redie/3d9c88c2d14c82812f0b9cde6cdfb6f11ef48f46", + "fetchedAt": "2024-02-21T17:56:28.545Z", + "links": { + "self": { + "href": "urn:git:github:microsoft:redie:revision:3d9c88c2d14c82812f0b9cde6cdfb6f11ef48f46:tool:scancode:32.2.8", + "type": "resource" + }, + "siblings": { + "href": "urn:git:github:microsoft:redie:revision:3d9c88c2d14c82812f0b9cde6cdfb6f11ef48f46:tool:scancode", + "type": "collection" + } + }, + "schemaVersion": "32.2.8", + "toolVersion": "32.0.8", + "contentType": "application/json", + "releaseDate": "2021-01-28T20:22:54.000Z", + "processedAt": "2024-02-21T17:56:32.639Z" + }, + "content": { + "headers": [ + { + "tool_name": "scancode-toolkit", + "tool_version": "32.0.8", + "options": { + "input": [ + "/tmp/cd-RflHbe/redie" + ], + "--classify": true, + "--copyright": true, + "--email": true, + "--generated": true, + "--info": true, + "--json-pp": "/tmp/cd-STSkGl", + "--license": true, + "--license-clarity-score": true, + "--license-references": true, + "--license-text": true, + "--license-text-diagnostics": true, + "--package": true, + "--processes": "2", + "--strip-root": true, + "--summary": true, + "--tallies": true, + "--tallies-key-files": true, + "--timeout": "1000.0", + "--url": true + }, + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "start_timestamp": "2024-02-21T175629.146749", + "end_timestamp": "2024-02-21T175631.969770", + "output_format_version": "3.0.0", + "duration": 2.82303786277771, + "message": null, + "errors": [], + "warnings": [], + "extra_data": { + "system_environment": { + "operating_system": "linux", + "cpu_architecture": "64", + "platform": "Linux-6.2.0-1019-azure-x86_64-with-glibc2.31", + "platform_version": "#19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024", + "python_version": "3.9.2 (default, Feb 28 2021, 17:03:44) \n[GCC 10.2.1 20210110]" + }, + "spdx_license_list_version": "3.21", + "files_count": 6 + } + } + ], + "summary": { + "declared_license_expression": "mit", + "license_clarity_score": { + "score": 100, + "declared_license": true, + "identification_precision": true, + "has_license_text": true, + "declared_copyrights": true, + "conflicting_license_categories": false, + "ambiguous_compound_licensing": false + }, + "declared_holder": "Microsoft", + "primary_language": "JavaScript", + "other_license_expressions": [ + { + "value": null, + "count": 3 + } + ], + "other_holders": [ + { + "value": null, + "count": 4 + } + ], + "other_languages": [] + }, + "packages": [ + { + "type": "npm", + "namespace": null, + "name": "redie", + "version": "0.3.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": "Redis client focused on providing a delightful user experience.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "William Bartholomew", + "email": "willbar@microsoft.com", + "url": null + } + ], + "keywords": [ + "redis", + "repl", + "cli", + "json" + ], + "homepage_url": "https://github.com/Microsoft/redie", + "download_url": "https://registry.npmjs.org/redie/-/redie-0.3.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/Microsoft/redie/issues", + "code_view_url": null, + "vcs_url": "git+https://github.com/Microsoft/redie.git", + "copyright": null, + "holder": null, + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 1, + "end_line": 1, + "matched_length": 1, + "match_coverage": 100, + "matcher": "1-spdx-id", + "license_expression": "mit", + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_relevance": 100, + "rule_url": null, + "matched_text": "MIT" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "- MIT\n", + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://www.npmjs.com/package/redie", + "repository_download_url": "https://registry.npmjs.org/redie/-/redie-0.3.0.tgz", + "api_data_url": "https://registry.npmjs.org/redie/0.3.0", + "package_uid": "pkg:npm/redie@0.3.0?uuid=d3a51e55-b8e5-4026-81d1-92e538aef9ac", + "datafile_paths": [ + "package.json" + ], + "datasource_ids": [ + "npm_package_json" + ], + "purl": "pkg:npm/redie@0.3.0" + } + ], + "dependencies": [ + { + "purl": "pkg:npm/argv-split", + "extracted_requirement": "^1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:npm/argv-split?uuid=9079e9df-ee86-43aa-b79f-e3d65573a769", + "for_package_uid": "pkg:npm/redie@0.3.0?uuid=d3a51e55-b8e5-4026-81d1-92e538aef9ac", + "datafile_path": "package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/command-line-args", + "extracted_requirement": "^2.1.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:npm/command-line-args?uuid=ebd48b20-3aa6-4937-860b-6647b82f6a9e", + "for_package_uid": "pkg:npm/redie@0.3.0?uuid=d3a51e55-b8e5-4026-81d1-92e538aef9ac", + "datafile_path": "package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/is-json", + "extracted_requirement": "^2.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:npm/is-json?uuid=37f234c3-947a-495d-96f5-88172341ac5d", + "for_package_uid": "pkg:npm/redie@0.3.0?uuid=d3a51e55-b8e5-4026-81d1-92e538aef9ac", + "datafile_path": "package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/json-colorz", + "extracted_requirement": "^0.2.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:npm/json-colorz?uuid=cb973113-a9fd-4256-a70a-ed4e7bbed20a", + "for_package_uid": "pkg:npm/redie@0.3.0?uuid=d3a51e55-b8e5-4026-81d1-92e538aef9ac", + "datafile_path": "package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/painless-config", + "extracted_requirement": "^0.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:npm/painless-config?uuid=0a8f9faa-0dde-47bc-aec8-08ddf358809d", + "for_package_uid": "pkg:npm/redie@0.3.0?uuid=d3a51e55-b8e5-4026-81d1-92e538aef9ac", + "datafile_path": "package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/redis", + "extracted_requirement": "^2.6.0-0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:npm/redis?uuid=72e0dbdd-771d-4225-aa0b-4164ba572b15", + "for_package_uid": "pkg:npm/redie@0.3.0?uuid=d3a51e55-b8e5-4026-81d1-92e538aef9ac", + "datafile_path": "package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/redis-commands", + "extracted_requirement": "^1.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:npm/redis-commands?uuid=1d1c6362-2ed1-45c7-8786-90c6fe0bb799", + "for_package_uid": "pkg:npm/redie@0.3.0?uuid=d3a51e55-b8e5-4026-81d1-92e538aef9ac", + "datafile_path": "package.json", + "datasource_id": "npm_package_json" + } + ], + "license_detections": [ + { + "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee", + "license_expression": "mit", + "detection_count": 1 + }, + { + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf", + "license_expression": "mit", + "detection_count": 1 + }, + { + "identifier": "mit-ac40beba-5702-f54d-755f-333441314bb0", + "license_expression": "mit", + "detection_count": 1 + }, + { + "identifier": "mit-ba6b4e66-7e0e-a2b1-cca9-23918f3964b6", + "license_expression": "mit", + "detection_count": 1 + } + ], + "tallies": { + "detected_license_expression": [ + { + "value": null, + "count": 3 + }, + { + "value": "mit", + "count": 3 + } + ], + "copyrights": [ + { + "value": null, + "count": 4 + }, + { + "value": "Copyright (c) Microsoft Corporation", + "count": 2 + } + ], + "holders": [ + { + "value": null, + "count": 4 + }, + { + "value": "Microsoft", + "count": 2 + } + ], + "authors": [ + { + "value": null, + "count": 5 + }, + { + "value": "William Bartholomew ", + "count": 1 + } + ], + "programming_language": [ + { + "value": "JavaScript", + "count": 1 + } + ] + }, + "tallies_of_key_files": { + "detected_license_expression": [ + { + "value": "mit", + "count": 1 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Microsoft Corporation", + "count": 1 + } + ], + "holders": [ + { + "value": "Microsoft", + "count": 1 + } + ], + "authors": [], + "programming_language": [] + }, + "license_references": [ + { + "key": "mit", + "language": "en", + "short_name": "MIT License", + "name": "MIT License", + "category": "Permissive", + "owner": "MIT", + "homepage_url": "http://opensource.org/licenses/mit-license.php", + "notes": "Per SPDX.org, this license is OSI certified.", + "is_builtin": true, + "is_exception": false, + "is_unknown": false, + "is_generic": false, + "spdx_license_key": "MIT", + "other_spdx_license_keys": [ + "LicenseRef-MIT-Bootstrap", + "LicenseRef-MIT-Discord", + "LicenseRef-MIT-TC", + "LicenseRef-MIT-Diehl" + ], + "osi_license_key": null, + "text_urls": [ + "http://opensource.org/licenses/mit-license.php" + ], + "osi_url": "http://www.opensource.org/licenses/MIT", + "faq_url": "https://ieeexplore.ieee.org/document/9263265", + "other_urls": [ + "https://opensource.com/article/18/3/patent-grant-mit-license", + "https://opensource.com/article/19/4/history-mit-license", + "https://opensource.org/licenses/MIT" + ], + "key_aliases": [], + "minimum_coverage": 0, + "standard_notice": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "Permission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.", + "scancode_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "licensedb_url": "https://scancode-licensedb.aboutcode.org/mit", + "spdx_url": "https://spdx.org/licenses/MIT" + } + ], + "license_rule_references": [ + { + "license_expression": "mit", + "identifier": "mit.LICENSE", + "language": "en", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "is_license_text": true, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": true, + "is_synthetic": false, + "length": 161, + "relevance": 100, + "minimum_coverage": 0, + "referenced_filenames": [], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "Permission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." + }, + { + "license_expression": "mit", + "identifier": "mit_14.RULE", + "language": "en", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": false, + "is_synthetic": false, + "length": 2, + "relevance": 100, + "minimum_coverage": 100, + "referenced_filenames": [], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "MIT license" + }, + { + "license_expression": "mit", + "identifier": "mit_192.RULE", + "language": "en", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_192.RULE", + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": false, + "is_synthetic": false, + "length": 14, + "relevance": 100, + "minimum_coverage": 50, + "referenced_filenames": [ + "LICENSE" + ], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "* Licensed under the MIT License. See LICENSE in the project root for license information." + }, + { + "license_expression": "mit", + "identifier": "mit_30.RULE", + "language": "en", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": true, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": false, + "is_synthetic": false, + "length": 2, + "relevance": 100, + "minimum_coverage": 100, + "referenced_filenames": [], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "License: MIT" + }, + { + "license_expression": "mit", + "identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "language": "en", + "rule_url": null, + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": true, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": false, + "is_synthetic": true, + "length": 1, + "relevance": 100, + "minimum_coverage": 0, + "referenced_filenames": [], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "MIT" + } + ], + "files": [ + { + "path": "index.js", + "type": "file", + "name": "index.js", + "base_name": "index", + "extension": ".js", + "size": 4940, + "date": "2024-02-21", + "sha1": "7561b32ffa21eeb8ca1c12a5e76ec28d718c3dfd", + "md5": "c643675cb984801703fb0d2ebcc84675", + "sha256": "b83c7eeef19b2f4be9a8947db0bedc4ef43a15746e9c9b6f14e491f68bd2db60", + "mime_type": "application/javascript", + "file_type": "Node.js script, ASCII text executable", + "programming_language": "JavaScript", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:npm/redie@0.3.0?uuid=d3a51e55-b8e5-4026-81d1-92e538aef9ac" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": false, + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 5, + "end_line": 5, + "matched_length": 14, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_192.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_192.RULE", + "matched_text": "Licensed under the MIT License. See LICENSE in the project root for license information." + }, + { + "score": 100, + "start_line": 9, + "end_line": 9, + "matched_length": 2, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_14.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", + "matched_text": "MIT License" + }, + { + "score": 100, + "start_line": 11, + "end_line": 27, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE." + } + ], + "identifier": "mit-ba6b4e66-7e0e-a2b1-cca9-23918f3964b6", + "detection_log": [ + "unknown-reference-to-local-file" + ] + } + ], + "license_clues": [], + "percentage_of_license_text": 2.71, + "copyrights": [ + { + "copyright": "Copyright (c) Microsoft Corporation", + "start_line": 4, + "end_line": 4 + } + ], + "holders": [ + { + "holder": "Microsoft Corporation", + "start_line": 4, + "end_line": 4 + } + ], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "LICENSE", + "type": "file", + "name": "LICENSE", + "base_name": "LICENSE", + "extension": "", + "size": 1113, + "date": "2024-02-21", + "sha1": "6401e7f1f46654117270c4860a263d3c4d6df1eb", + "md5": "e7b465bb6dd47f014d544ba0c60e34b6", + "sha256": "42c7def049b7ef692085ca9bdf5984d439d3291922e02cb112d5cd1287b3cc56", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [ + "pkg:npm/redie@0.3.0?uuid=d3a51e55-b8e5-4026-81d1-92e538aef9ac" + ], + "is_legal": true, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": true, + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 9, + "end_line": 9, + "matched_length": 2, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_14.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", + "matched_text": "MIT License" + }, + { + "score": 100, + "start_line": 11, + "end_line": 27, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE." + } + ], + "identifier": "mit-ac40beba-5702-f54d-755f-333441314bb0" + } + ], + "license_clues": [], + "percentage_of_license_text": 93.14, + "copyrights": [ + { + "copyright": "Copyright (c) Microsoft Corporation", + "start_line": 5, + "end_line": 5 + } + ], + "holders": [ + { + "holder": "Microsoft Corporation", + "start_line": 5, + "end_line": 5 + } + ], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "package.json", + "type": "file", + "name": "package.json", + "base_name": "package", + "extension": ".json", + "size": 880, + "date": "2024-02-21", + "sha1": "74c5c9c1de88406c3d08272bfb6fe57055625fc9", + "md5": "bc2a28164bcd8154647f940af5687dc3", + "sha256": "7bf06a09d2b1c79b2cad7820a97e3887749418e6c53da1f7fb7f1b7c430e386d", + "mime_type": "application/json", + "file_type": "JSON data", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [ + { + "type": "npm", + "namespace": null, + "name": "redie", + "version": "0.3.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": "Redis client focused on providing a delightful user experience.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "William Bartholomew", + "email": "willbar@microsoft.com", + "url": null + } + ], + "keywords": [ + "redis", + "repl", + "cli", + "json" + ], + "homepage_url": "https://github.com/Microsoft/redie", + "download_url": "https://registry.npmjs.org/redie/-/redie-0.3.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/Microsoft/redie/issues", + "code_view_url": null, + "vcs_url": "git+https://github.com/Microsoft/redie.git", + "copyright": null, + "holder": null, + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 1, + "end_line": 1, + "matched_length": 1, + "match_coverage": 100, + "matcher": "1-spdx-id", + "license_expression": "mit", + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_relevance": 100, + "rule_url": null, + "matched_text": "MIT" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "- MIT\n", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/argv-split", + "extracted_requirement": "^1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:npm/command-line-args", + "extracted_requirement": "^2.1.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:npm/is-json", + "extracted_requirement": "^2.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:npm/json-colorz", + "extracted_requirement": "^0.2.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:npm/painless-config", + "extracted_requirement": "^0.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:npm/redis", + "extracted_requirement": "^2.6.0-0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:npm/redis-commands", + "extracted_requirement": "^1.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/redie", + "repository_download_url": "https://registry.npmjs.org/redie/-/redie-0.3.0.tgz", + "api_data_url": "https://registry.npmjs.org/redie/0.3.0", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/redie@0.3.0" + } + ], + "for_packages": [ + "pkg:npm/redie@0.3.0?uuid=d3a51e55-b8e5-4026-81d1-92e538aef9ac" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 25, + "end_line": 25, + "matched_length": 2, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_30.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", + "matched_text": "license\": \"MIT\"," + } + ], + "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee" + } + ], + "license_clues": [], + "percentage_of_license_text": 1.89, + "copyrights": [], + "holders": [], + "authors": [ + { + "author": "William Bartholomew ", + "start_line": 24, + "end_line": 24 + } + ], + "emails": [ + { + "email": "willbar@microsoft.com", + "start_line": 24, + "end_line": 24 + } + ], + "urls": [ + { + "url": "https://github.com/Microsoft/redie", + "start_line": 18, + "end_line": 18 + }, + { + "url": "https://github.com/Microsoft/redie/issues", + "start_line": 19, + "end_line": 19 + }, + { + "url": "https://github.com/Microsoft/redie.git", + "start_line": 22, + "end_line": 22 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "README.md", + "type": "file", + "name": "README.md", + "base_name": "README", + "extension": ".md", + "size": 2517, + "date": "2024-02-21", + "sha1": "32a1b1ec0f71cfd550fb68fbac340d6060973e88", + "md5": "607c10bbb77df9a54f3269c85a91489b", + "sha256": "cb8c8fcb5d180718f3339344b204890c64d699c02818fdd7df343be9db9c520d", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [ + "pkg:npm/redie@0.3.0?uuid=d3a51e55-b8e5-4026-81d1-92e538aef9ac" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": true, + "is_top_level": true, + "is_key_file": true, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [ + { + "email": "opencode@microsoft.com", + "start_line": 66, + "end_line": 66 + } + ], + "urls": [ + { + "url": "https://img.shields.io/npm/v/redie.svg", + "start_line": 1, + "end_line": 1 + }, + { + "url": "https://img.shields.io/github/license/Microsoft/redie.svg", + "start_line": 2, + "end_line": 2 + }, + { + "url": "https://img.shields.io/npm/dt/redie.svg", + "start_line": 3, + "end_line": 3 + }, + { + "url": "https://www.npmjs.com/package/painless-config", + "start_line": 12, + "end_line": 12 + }, + { + "url": "https://opensource.microsoft.com/codeofconduct", + "start_line": 63, + "end_line": 63 + }, + { + "url": "https://opensource.microsoft.com/codeofconduct/faq", + "start_line": 65, + "end_line": 65 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "screenshot.png", + "type": "file", + "name": "screenshot.png", + "base_name": "screenshot", + "extension": ".png", + "size": 26290, + "date": "2024-02-21", + "sha1": "d01607f9847c1edf3005f200630675123230225e", + "md5": "dd51d941688aa2da0dcda7ba48694fe8", + "sha256": "ad5cb9f1c344128d522f486bdedc2bff717204832807dad1b2667869f40405cc", + "mime_type": "image/png", + "file_type": "PNG image data, 956 x 188, 8-bit/color RGBA, non-interlaced", + "programming_language": null, + "is_binary": true, + "is_text": false, + "is_archive": false, + "is_media": true, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [ + "pkg:npm/redie@0.3.0?uuid=d3a51e55-b8e5-4026-81d1-92e538aef9ac" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": ".vscode", + "type": "directory", + "name": ".vscode", + "base_name": ".vscode", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [ + "pkg:npm/redie@0.3.0?uuid=d3a51e55-b8e5-4026-81d1-92e538aef9ac" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 1, + "dirs_count": 0, + "size_count": 688, + "scan_errors": [] + }, + { + "path": ".vscode/launch.json", + "type": "file", + "name": "launch.json", + "base_name": "launch", + "extension": ".json", + "size": 688, + "date": "2024-02-21", + "sha1": "67b6a924db5580872b2e011c33642c9e8cd5a27e", + "md5": "8504705bff1a9f2a2e2c2199a3e3a480", + "sha256": "6661a4ec342b857cc43ad6bbb412b75d53172970108d2621166ff23720c8ffbf", + "mime_type": "application/json", + "file_type": "JSON data", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [ + "pkg:npm/redie@0.3.0?uuid=d3a51e55-b8e5-4026-81d1-92e538aef9ac" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + } + ] + } +} diff --git a/test/fixtures/scancode/32.0.8/python.json b/test/fixtures/scancode/32.0.8/python.json new file mode 100644 index 000000000..8ee71c867 --- /dev/null +++ b/test/fixtures/scancode/32.0.8/python.json @@ -0,0 +1,12376 @@ +{ + "_metadata": { + "type": "scancode", + "url": "cd:/pypi/pypi/-/redis/5.0.1", + "fetchedAt": "2024-02-21T17:51:23.065Z", + "links": { + "self": { + "href": "urn:pypi:pypi:-:redis:revision:5.0.1:tool:scancode:32.2.8", + "type": "resource" + }, + "siblings": { + "href": "urn:pypi:pypi:-:redis:revision:5.0.1:tool:scancode", + "type": "collection" + } + }, + "schemaVersion": "32.2.8", + "toolVersion": "32.0.8", + "contentType": "application/json", + "releaseDate": "2023-09-26T06:51:17", + "processedAt": "2024-02-21T17:52:22.534Z" + }, + "content": { + "headers": [ + { + "tool_name": "scancode-toolkit", + "tool_version": "32.0.8", + "options": { + "input": [ + "/tmp/cd-7bkWJc" + ], + "--classify": true, + "--copyright": true, + "--email": true, + "--generated": true, + "--info": true, + "--json-pp": "/tmp/cd-kYYsHS", + "--license": true, + "--license-clarity-score": true, + "--license-references": true, + "--license-text": true, + "--license-text-diagnostics": true, + "--package": true, + "--processes": "2", + "--strip-root": true, + "--summary": true, + "--tallies": true, + "--tallies-key-files": true, + "--timeout": "1000.0", + "--url": true + }, + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "start_timestamp": "2024-02-21T175123.664143", + "end_timestamp": "2024-02-21T175221.849913", + "output_format_version": "3.0.0", + "duration": 58.18578267097473, + "message": null, + "errors": [], + "warnings": [], + "extra_data": { + "system_environment": { + "operating_system": "linux", + "cpu_architecture": "64", + "platform": "Linux-6.2.0-1019-azure-x86_64-with-glibc2.31", + "platform_version": "#19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024", + "python_version": "3.9.2 (default, Feb 28 2021, 17:03:44) \n[GCC 10.2.1 20210110]" + }, + "spdx_license_list_version": "3.21", + "files_count": 145 + } + } + ], + "summary": { + "declared_license_expression": "mit", + "license_clarity_score": { + "score": 100, + "declared_license": true, + "identification_precision": true, + "has_license_text": true, + "declared_copyrights": true, + "conflicting_license_categories": false, + "ambiguous_compound_licensing": false + }, + "declared_holder": "Redis, inc.", + "primary_language": "Python", + "other_license_expressions": [ + { + "value": null, + "count": 140 + }, + { + "value": "unknown-license-reference", + "count": 1 + } + ], + "other_holders": [ + { + "value": null, + "count": 144 + } + ], + "other_languages": [ + { + "value": "Objective-C", + "count": 2 + } + ] + }, + "packages": [ + { + "type": "pypi", + "namespace": null, + "name": "redis", + "version": "5.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Python", + "description": "Python client for Redis database and key-value store\n# redis-py\n\nThe Python interface to the Redis key-value store.\n\n[![CI](https://github.com/redis/redis-py/workflows/CI/badge.svg?branch=master)](https://github.com/redis/redis-py/actions?query=workflow%3ACI+branch%3Amaster)\n[![docs](https://readthedocs.org/projects/redis/badge/?version=stable&style=flat)](https://redis-py.readthedocs.io/en/stable/)\n[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)\n[![pypi](https://badge.fury.io/py/redis.svg)](https://pypi.org/project/redis/)\n[![pre-release](https://img.shields.io/github/v/release/redis/redis-py?include_prereleases&label=latest-prerelease)](https://github.com/redis/redis-py/releases)\n[![codecov](https://codecov.io/gh/redis/redis-py/branch/master/graph/badge.svg?token=yenl5fzxxr)](https://codecov.io/gh/redis/redis-py)\n\n[Installation](#installation) | [Usage](#usage) | [Advanced Topics](#advanced-topics) | [Contributing](https://github.com/redis/redis-py/blob/master/CONTRIBUTING.md)\n\n---------------------------------------------\n\n**Note: ** redis-py 5.0 will be the last version of redis-py to support Python 3.7, as it has reached [end of life](https://devguide.python.org/versions/). redis-py 5.1 will support Python 3.8+.\n\n---------------------------------------------\n\n## Installation\n\nStart a redis via docker:\n\n``` bash\ndocker run -p 6379:6379 -it redis/redis-stack:latest\n```\n\nTo install redis-py, simply:\n\n``` bash\n$ pip install redis\n```\n\nFor faster performance, install redis with hiredis support, this provides a compiled response parser, and *for most cases* requires zero code changes.\nBy default, if hiredis >= 1.0 is available, redis-py will attempt to use it for response parsing.\n\n``` bash\n$ pip install \"redis[hiredis]\"\n```\n\nLooking for a high-level library to handle object mapping? See [redis-om-python](https://github.com/redis/redis-om-python)!\n\n## Supported Redis Versions\n\nThe most recent version of this library supports redis version [5.0](https://github.com/redis/redis/blob/5.0/00-RELEASENOTES), [6.0](https://github.com/redis/redis/blob/6.0/00-RELEASENOTES), [6.2](https://github.com/redis/redis/blob/6.2/00-RELEASENOTES), [7.0](https://github.com/redis/redis/blob/7.0/00-RELEASENOTES) and [7.2](https://github.com/redis/redis/blob/7.2/00-RELEASENOTES).\n\nThe table below highlights version compatibility of the most-recent library versions and redis versions.\n\n| Library version | Supported redis versions |\n|-----------------|-------------------|\n| 3.5.3 | <= 6.2 Family of releases |\n| >= 4.5.0 | Version 5.0 to 7.0 |\n| >= 5.0.0 | Version 5.0 to current |\n\n\n## Usage\n\n### Basic Example\n\n``` python\n>>> import redis\n>>> r = redis.Redis(host='localhost', port=6379, db=0)\n>>> r.set('foo', 'bar')\nTrue\n>>> r.get('foo')\nb'bar'\n```\n\nThe above code connects to localhost on port 6379, sets a value in Redis, and retrieves it. All responses are returned as bytes in Python, to receive decoded strings, set *decode_responses=True*. For this, and more connection options, see [these examples](https://redis.readthedocs.io/en/stable/examples.html).\n\n\n#### RESP3 Support\nTo enable support for RESP3, ensure you have at least version 5.0 of the client, and change your connection object to include *protocol=3*\n\n``` python\n>>> import redis\n>>> r = redis.Redis(host='localhost', port=6379, db=0, protocol=3)\n```\n\n### Connection Pools\n\nBy default, redis-py uses a connection pool to manage connections. Each instance of a Redis class receives its own connection pool. You can however define your own [redis.ConnectionPool](https://redis.readthedocs.io/en/stable/connections.html#connection-pools).\n\n``` python\n>>> pool = redis.ConnectionPool(host='localhost', port=6379, db=0)\n>>> r = redis.Redis(connection_pool=pool)\n```\n\nAlternatively, you might want to look at [Async connections](https://redis.readthedocs.io/en/stable/examples/asyncio_examples.html), or [Cluster connections](https://redis.readthedocs.io/en/stable/connections.html#cluster-client), or even [Async Cluster connections](https://redis.readthedocs.io/en/stable/connections.html#async-cluster-client).\n\n### Redis Commands\n\nThere is built-in support for all of the [out-of-the-box Redis commands](https://redis.io/commands). They are exposed using the raw Redis command names (`HSET`, `HGETALL`, etc.) except where a word (i.e. del) is reserved by the language. The complete set of commands can be found [here](https://github.com/redis/redis-py/tree/master/redis/commands), or [the documentation](https://redis.readthedocs.io/en/stable/commands.html).\n\n## Advanced Topics\n\nThe [official Redis command documentation](https://redis.io/commands)\ndoes a great job of explaining each command in detail. redis-py attempts\nto adhere to the official command syntax. There are a few exceptions:\n\n- **MULTI/EXEC**: These are implemented as part of the Pipeline class.\n The pipeline is wrapped with the MULTI and EXEC statements by\n default when it is executed, which can be disabled by specifying\n transaction=False. See more about Pipelines below.\n\n- **SUBSCRIBE/LISTEN**: Similar to pipelines, PubSub is implemented as\n a separate class as it places the underlying connection in a state\n where it can\\'t execute non-pubsub commands. Calling the pubsub\n method from the Redis client will return a PubSub instance where you\n can subscribe to channels and listen for messages. You can only call\n PUBLISH from the Redis client (see [this comment on issue\n #151](https://github.com/redis/redis-py/issues/151#issuecomment-1545015)\n for details).\n\nFor more details, please see the documentation on [advanced topics page](https://redis.readthedocs.io/en/stable/advanced_features.html).\n\n### Pipelines\n\nThe following is a basic example of a [Redis pipeline](https://redis.io/docs/manual/pipelining/), a method to optimize round-trip calls, by batching Redis commands, and receiving their results as a list.\n\n\n``` python\n>>> pipe = r.pipeline()\n>>> pipe.set('foo', 5)\n>>> pipe.set('bar', 18.5)\n>>> pipe.set('blee', \"hello world!\")\n>>> pipe.execute()\n[True, True, True]\n```\n\n### PubSub\n\nThe following example shows how to utilize [Redis Pub/Sub](https://redis.io/docs/manual/pubsub/) to subscribe to specific channels.\n\n``` python\n>>> r = redis.Redis(...)\n>>> p = r.pubsub()\n>>> p.subscribe('my-first-channel', 'my-second-channel', ...)\n>>> p.get_message()\n{'pattern': None, 'type': 'subscribe', 'channel': b'my-second-channel', 'data': 1}\n```\n\n\n--------------------------\n\n### Author\n\nredis-py is developed and maintained by [Redis Inc](https://redis.com). It can be found [here](\nhttps://github.com/redis/redis-py), or downloaded from [pypi](https://pypi.org/project/redis/).\n\nSpecial thanks to:\n\n- Andy McCurdy () the original author of redis-py.\n- Ludovico Magnocavallo, author of the original Python Redis client,\n from which some of the socket code is still used.\n- Alexander Solovyov for ideas on the generic response callback\n system.\n- Paul Hubbard for initial packaging support.\n\n[![Redis](./docs/logo-redis.png)](https://www.redis.com)", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Redis Inc.", + "email": "oss@redis.com", + "url": null + } + ], + "keywords": [ + "Redis", + "key-value store", + "database", + "Development Status :: 5 - Production/Stable", + "Environment :: Console", + "Intended Audience :: Developers", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy" + ], + "homepage_url": "https://github.com/redis/redis-py", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/redis/redis-py/issues", + "code_view_url": "https://github.com/redis/redis-py", + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 1, + "end_line": 1, + "matched_length": 1, + "match_coverage": 100, + "matcher": "1-spdx-id", + "license_expression": "mit", + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_relevance": 100, + "rule_url": null, + "matched_text": "MIT" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + }, + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 1, + "end_line": 1, + "matched_length": 5, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "mit", + "rule_identifier": "pypi_mit_license.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", + "matched_text": "- 'License :: OSI Approved :: MIT License'" + } + ], + "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "license: MIT\nclassifiers:\n - 'License :: OSI Approved :: MIT License'\n", + "notice_text": null, + "source_packages": [], + "extra_data": { + "Documentation": "https://redis.readthedocs.io/en/latest/", + "Changes": "https://github.com/redis/redis-py/releases" + }, + "repository_homepage_url": "https://pypi.org/project/redis", + "repository_download_url": "https://pypi.org/packages/source/r/redis/redis-5.0.1.tar.gz", + "api_data_url": "https://pypi.org/pypi/redis/5.0.1/json", + "package_uid": "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061", + "datafile_paths": [ + "redis-5.0.1/redis.egg-info/PKG-INFO" + ], + "datasource_ids": [ + "pypi_editable_egg_pkginfo" + ], + "purl": "pkg:pypi/redis@5.0.1" + } + ], + "dependencies": [ + { + "purl": "pkg:pypi/async-timeout", + "extracted_requirement": "async-timeout>=4.0.2; python_full_version <= \"3.11.2\"", + "scope": "install", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:pypi/async-timeout?uuid=cda8ec32-4c46-452a-b344-d6d7fc1e4c05", + "for_package_uid": "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061", + "datafile_path": "redis-5.0.1/redis.egg-info/PKG-INFO", + "datasource_id": "pypi_editable_egg_pkginfo" + }, + { + "purl": "pkg:pypi/importlib-metadata", + "extracted_requirement": "importlib-metadata>=1.0; python_version < \"3.8\"", + "scope": "install", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:pypi/importlib-metadata?uuid=7fd8fc1b-ad29-436d-9d02-bef3651bde4f", + "for_package_uid": "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061", + "datafile_path": "redis-5.0.1/redis.egg-info/PKG-INFO", + "datasource_id": "pypi_editable_egg_pkginfo" + }, + { + "purl": "pkg:pypi/typing-extensions", + "extracted_requirement": "typing-extensions; python_version < \"3.8\"", + "scope": "install", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:pypi/typing-extensions?uuid=7888e559-a936-46b6-a490-4113d0c20120", + "for_package_uid": "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061", + "datafile_path": "redis-5.0.1/redis.egg-info/PKG-INFO", + "datasource_id": "pypi_editable_egg_pkginfo" + }, + { + "purl": "pkg:pypi/hiredis", + "extracted_requirement": "hiredis>=1.0.0; extra == \"hiredis\"", + "scope": "hiredis", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:pypi/hiredis?uuid=2891d001-6ce6-4823-ae58-ccc9c8007f6b", + "for_package_uid": "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061", + "datafile_path": "redis-5.0.1/redis.egg-info/PKG-INFO", + "datasource_id": "pypi_editable_egg_pkginfo" + }, + { + "purl": "pkg:pypi/cryptography", + "extracted_requirement": "cryptography>=36.0.1; extra == \"ocsp\"", + "scope": "ocsp", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:pypi/cryptography?uuid=0f918490-2c05-4c48-a795-5c9361f581a6", + "for_package_uid": "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061", + "datafile_path": "redis-5.0.1/redis.egg-info/PKG-INFO", + "datasource_id": "pypi_editable_egg_pkginfo" + }, + { + "purl": "pkg:pypi/pyopenssl@20.0.1", + "extracted_requirement": "pyopenssl==20.0.1; extra == \"ocsp\"", + "scope": "ocsp", + "is_runtime": true, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:pypi/pyopenssl@20.0.1?uuid=948ef9ca-984a-49ba-87ab-3e1f0a5ea32a", + "for_package_uid": "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061", + "datafile_path": "redis-5.0.1/redis.egg-info/PKG-INFO", + "datasource_id": "pypi_editable_egg_pkginfo" + }, + { + "purl": "pkg:pypi/requests", + "extracted_requirement": "requests>=2.26.0; extra == \"ocsp\"", + "scope": "ocsp", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:pypi/requests?uuid=96127e2a-d719-4b00-b086-6c58e35069bd", + "for_package_uid": "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061", + "datafile_path": "redis-5.0.1/redis.egg-info/PKG-INFO", + "datasource_id": "pypi_editable_egg_pkginfo" + } + ], + "license_detections": [ + { + "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8", + "license_expression": "mit", + "detection_count": 6 + }, + { + "identifier": "mit-84e9222a-45a9-364a-bbfe-3a462e4b18c1", + "license_expression": "mit", + "detection_count": 4 + }, + { + "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee", + "license_expression": "mit", + "detection_count": 3 + }, + { + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf", + "license_expression": "mit", + "detection_count": 3 + }, + { + "identifier": "mit-ac40beba-5702-f54d-755f-333441314bb0", + "license_expression": "mit", + "detection_count": 2 + }, + { + "identifier": "mit-a979a2a3-dfdb-02aa-2450-71641a61a264", + "license_expression": "mit", + "detection_count": 1 + }, + { + "identifier": "unknown_license_reference-6b24f327-22b1-723e-10f9-37a8bc8b3c70", + "license_expression": "unknown-license-reference", + "detection_count": 1 + } + ], + "tallies": { + "detected_license_expression": [ + { + "value": null, + "count": 140 + }, + { + "value": "mit", + "count": 11 + }, + { + "value": "unknown-license-reference", + "count": 1 + } + ], + "copyrights": [ + { + "value": null, + "count": 144 + }, + { + "value": "Copyright (c) Redis, inc.", + "count": 1 + } + ], + "holders": [ + { + "value": null, + "count": 144 + }, + { + "value": "Redis, inc.", + "count": 1 + } + ], + "authors": [ + { + "value": null, + "count": 140 + }, + { + "value": "Redis Inc (https://redis.com)", + "count": 3 + }, + { + "value": "Redis Inc.", + "count": 3 + }, + { + "value": "Evelyn Waugh", + "count": 1 + }, + { + "value": "Herman Melville", + "count": 1 + }, + { + "value": "J. R. R. Tolkien", + "count": 1 + }, + { + "value": "Nigel Rees", + "count": 1 + } + ], + "programming_language": [ + { + "value": "Python", + "count": 130 + }, + { + "value": "Objective-C", + "count": 2 + } + ] + }, + "tallies_of_key_files": { + "detected_license_expression": [ + { + "value": "mit", + "count": 2 + } + ], + "copyrights": [ + { + "value": "Copyright (c) Redis, inc.", + "count": 1 + } + ], + "holders": [ + { + "value": "Redis, inc.", + "count": 1 + } + ], + "authors": [ + { + "value": "Redis Inc (https://redis.com)", + "count": 1 + } + ], + "programming_language": [] + }, + "license_references": [ + { + "key": "mit", + "language": "en", + "short_name": "MIT License", + "name": "MIT License", + "category": "Permissive", + "owner": "MIT", + "homepage_url": "http://opensource.org/licenses/mit-license.php", + "notes": "Per SPDX.org, this license is OSI certified.", + "is_builtin": true, + "is_exception": false, + "is_unknown": false, + "is_generic": false, + "spdx_license_key": "MIT", + "other_spdx_license_keys": [ + "LicenseRef-MIT-Bootstrap", + "LicenseRef-MIT-Discord", + "LicenseRef-MIT-TC", + "LicenseRef-MIT-Diehl" + ], + "osi_license_key": null, + "text_urls": [ + "http://opensource.org/licenses/mit-license.php" + ], + "osi_url": "http://www.opensource.org/licenses/MIT", + "faq_url": "https://ieeexplore.ieee.org/document/9263265", + "other_urls": [ + "https://opensource.com/article/18/3/patent-grant-mit-license", + "https://opensource.com/article/19/4/history-mit-license", + "https://opensource.org/licenses/MIT" + ], + "key_aliases": [], + "minimum_coverage": 0, + "standard_notice": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "Permission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.", + "scancode_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "licensedb_url": "https://scancode-licensedb.aboutcode.org/mit", + "spdx_url": "https://spdx.org/licenses/MIT" + }, + { + "key": "unknown-license-reference", + "language": "en", + "short_name": "Unknown License reference", + "name": "Unknown License file reference", + "category": "Unstated License", + "owner": "Unspecified", + "homepage_url": null, + "notes": "This applies to the case of a file with no clear license, which may be referenced via URL or text such as \"See license in...\" or \"This file is licensed under...\", but where the reference cannot be resolved to a specific named, public license.", + "is_builtin": true, + "is_exception": false, + "is_unknown": true, + "is_generic": false, + "spdx_license_key": "LicenseRef-scancode-unknown-license-reference", + "other_spdx_license_keys": [], + "osi_license_key": null, + "text_urls": [], + "osi_url": null, + "faq_url": null, + "other_urls": [], + "key_aliases": [], + "minimum_coverage": 0, + "standard_notice": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "", + "scancode_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/unknown-license-reference.LICENSE", + "licensedb_url": "https://scancode-licensedb.aboutcode.org/unknown-license-reference", + "spdx_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/unknown-license-reference.LICENSE" + } + ], + "license_rule_references": [ + { + "license_expression": "mit", + "identifier": "mit.LICENSE", + "language": "en", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "is_license_text": true, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": true, + "is_synthetic": false, + "length": 161, + "relevance": 100, + "minimum_coverage": 0, + "referenced_filenames": [], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "Permission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." + }, + { + "license_expression": "mit", + "identifier": "mit_126.RULE", + "language": "en", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_126.RULE", + "is_license_text": false, + "is_license_notice": true, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": false, + "is_synthetic": false, + "length": 2, + "relevance": 100, + "minimum_coverage": 100, + "referenced_filenames": [], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "MIT Licensed" + }, + { + "license_expression": "mit", + "identifier": "mit_14.RULE", + "language": "en", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": false, + "is_synthetic": false, + "length": 2, + "relevance": 100, + "minimum_coverage": 100, + "referenced_filenames": [], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "MIT license" + }, + { + "license_expression": "mit", + "identifier": "mit_30.RULE", + "language": "en", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": true, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": false, + "is_synthetic": false, + "length": 2, + "relevance": 100, + "minimum_coverage": 100, + "referenced_filenames": [], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "License: MIT" + }, + { + "license_expression": "mit", + "identifier": "pypi_mit_license.RULE", + "language": "en", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": true, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": false, + "is_synthetic": false, + "length": 5, + "relevance": 100, + "minimum_coverage": 80, + "referenced_filenames": [], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "License :: OSI Approved :: MIT License" + }, + { + "license_expression": "mit", + "identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "language": "en", + "rule_url": null, + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": true, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": false, + "is_synthetic": true, + "length": 1, + "relevance": 100, + "minimum_coverage": 0, + "referenced_filenames": [], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "MIT" + }, + { + "license_expression": "unknown-license-reference", + "identifier": "unknown-license-reference_see_license_at_manifest_1.RULE", + "language": "en", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see_license_at_manifest_1.RULE", + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": true, + "is_license_tag": false, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": true, + "is_builtin": true, + "is_from_license": false, + "is_synthetic": false, + "length": 3, + "relevance": 100, + "minimum_coverage": 100, + "referenced_filenames": [ + "LICENSE" + ], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "license:file = ../LICENSE" + } + ], + "files": [ + { + "path": "redis-5.0.1", + "type": "directory", + "name": "redis-5.0.1", + "base_name": "redis-5.0.1", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 145, + "dirs_count": 15, + "size_count": 6712249, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/INSTALL", + "type": "file", + "name": "INSTALL", + "base_name": "INSTALL", + "extension": "", + "size": 92, + "date": "2023-09-26", + "sha1": "ce7085c9ce06fb5774fb16a969ab573a8d45b0af", + "md5": "1b5f4f98f5cca0024f32dd33595460c4", + "sha256": "41b4a183246737e7518e93367d4367bf08b0bd0a4ccfeb38382b7a21bda4420c", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [ + { + "email": "sedrik@gmail.com", + "start_line": 5, + "end_line": 5 + } + ], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/LICENSE", + "type": "file", + "name": "LICENSE", + "base_name": "LICENSE", + "extension": "", + "size": 1074, + "date": "2023-09-26", + "sha1": "c8303dce1148499d0d54040c80802c197a4c8aa4", + "md5": "609ded3add9111c4c6e102f1d421d3f8", + "sha256": "a57b250a5bf03d7afe55b74063313f2adb7b00d546c0ab149a89398333fe3cc8", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": true, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": true, + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 1, + "end_line": 1, + "matched_length": 2, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_14.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", + "matched_text": "MIT License" + }, + { + "score": 100, + "start_line": 5, + "end_line": 21, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE." + } + ], + "identifier": "mit-ac40beba-5702-f54d-755f-333441314bb0" + } + ], + "license_clues": [], + "percentage_of_license_text": 96.45, + "copyrights": [ + { + "copyright": "Copyright (c) 2022-2023, Redis, inc.", + "start_line": 3, + "end_line": 3 + } + ], + "holders": [ + { + "holder": "Redis, inc.", + "start_line": 3, + "end_line": 3 + } + ], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/MANIFEST.in", + "type": "file", + "name": "MANIFEST.in", + "base_name": "MANIFEST", + "extension": ".in", + "size": 126, + "date": "2023-09-26", + "sha1": "044bb2a693d8e85a0b7a2c946b9ead21715e042b", + "md5": "6020b275dd094bb4faf5caeac1703822", + "sha256": "8f7dd65d8e89bea23aa6d61556c6a772de08ef55f73dd39c43dba42baeb51635", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/PKG-INFO", + "type": "file", + "name": "PKG-INFO", + "base_name": "PKG-INFO", + "extension": "", + "size": 8506, + "date": "2023-09-26", + "sha1": "20532cd7e310457e63be960c8fd930c412c9db81", + "md5": "c702445af555d592940a9ce56eb083e6", + "sha256": "c024ed91501c8156a39ac513c8167a124d9bb264913d6fec11187492c418dd38", + "mime_type": "text/plain", + "file_type": "ASCII text, with very long lines", + "programming_language": "Objective-C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [ + { + "type": "pypi", + "namespace": null, + "name": "redis", + "version": "5.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Python", + "description": "Python client for Redis database and key-value store\n# redis-py\n\nThe Python interface to the Redis key-value store.\n\n[![CI](https://github.com/redis/redis-py/workflows/CI/badge.svg?branch=master)](https://github.com/redis/redis-py/actions?query=workflow%3ACI+branch%3Amaster)\n[![docs](https://readthedocs.org/projects/redis/badge/?version=stable&style=flat)](https://redis-py.readthedocs.io/en/stable/)\n[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)\n[![pypi](https://badge.fury.io/py/redis.svg)](https://pypi.org/project/redis/)\n[![pre-release](https://img.shields.io/github/v/release/redis/redis-py?include_prereleases&label=latest-prerelease)](https://github.com/redis/redis-py/releases)\n[![codecov](https://codecov.io/gh/redis/redis-py/branch/master/graph/badge.svg?token=yenl5fzxxr)](https://codecov.io/gh/redis/redis-py)\n\n[Installation](#installation) | [Usage](#usage) | [Advanced Topics](#advanced-topics) | [Contributing](https://github.com/redis/redis-py/blob/master/CONTRIBUTING.md)\n\n---------------------------------------------\n\n**Note: ** redis-py 5.0 will be the last version of redis-py to support Python 3.7, as it has reached [end of life](https://devguide.python.org/versions/). redis-py 5.1 will support Python 3.8+.\n\n---------------------------------------------\n\n## Installation\n\nStart a redis via docker:\n\n``` bash\ndocker run -p 6379:6379 -it redis/redis-stack:latest\n```\n\nTo install redis-py, simply:\n\n``` bash\n$ pip install redis\n```\n\nFor faster performance, install redis with hiredis support, this provides a compiled response parser, and *for most cases* requires zero code changes.\nBy default, if hiredis >= 1.0 is available, redis-py will attempt to use it for response parsing.\n\n``` bash\n$ pip install \"redis[hiredis]\"\n```\n\nLooking for a high-level library to handle object mapping? See [redis-om-python](https://github.com/redis/redis-om-python)!\n\n## Supported Redis Versions\n\nThe most recent version of this library supports redis version [5.0](https://github.com/redis/redis/blob/5.0/00-RELEASENOTES), [6.0](https://github.com/redis/redis/blob/6.0/00-RELEASENOTES), [6.2](https://github.com/redis/redis/blob/6.2/00-RELEASENOTES), [7.0](https://github.com/redis/redis/blob/7.0/00-RELEASENOTES) and [7.2](https://github.com/redis/redis/blob/7.2/00-RELEASENOTES).\n\nThe table below highlights version compatibility of the most-recent library versions and redis versions.\n\n| Library version | Supported redis versions |\n|-----------------|-------------------|\n| 3.5.3 | <= 6.2 Family of releases |\n| >= 4.5.0 | Version 5.0 to 7.0 |\n| >= 5.0.0 | Version 5.0 to current |\n\n\n## Usage\n\n### Basic Example\n\n``` python\n>>> import redis\n>>> r = redis.Redis(host='localhost', port=6379, db=0)\n>>> r.set('foo', 'bar')\nTrue\n>>> r.get('foo')\nb'bar'\n```\n\nThe above code connects to localhost on port 6379, sets a value in Redis, and retrieves it. All responses are returned as bytes in Python, to receive decoded strings, set *decode_responses=True*. For this, and more connection options, see [these examples](https://redis.readthedocs.io/en/stable/examples.html).\n\n\n#### RESP3 Support\nTo enable support for RESP3, ensure you have at least version 5.0 of the client, and change your connection object to include *protocol=3*\n\n``` python\n>>> import redis\n>>> r = redis.Redis(host='localhost', port=6379, db=0, protocol=3)\n```\n\n### Connection Pools\n\nBy default, redis-py uses a connection pool to manage connections. Each instance of a Redis class receives its own connection pool. You can however define your own [redis.ConnectionPool](https://redis.readthedocs.io/en/stable/connections.html#connection-pools).\n\n``` python\n>>> pool = redis.ConnectionPool(host='localhost', port=6379, db=0)\n>>> r = redis.Redis(connection_pool=pool)\n```\n\nAlternatively, you might want to look at [Async connections](https://redis.readthedocs.io/en/stable/examples/asyncio_examples.html), or [Cluster connections](https://redis.readthedocs.io/en/stable/connections.html#cluster-client), or even [Async Cluster connections](https://redis.readthedocs.io/en/stable/connections.html#async-cluster-client).\n\n### Redis Commands\n\nThere is built-in support for all of the [out-of-the-box Redis commands](https://redis.io/commands). They are exposed using the raw Redis command names (`HSET`, `HGETALL`, etc.) except where a word (i.e. del) is reserved by the language. The complete set of commands can be found [here](https://github.com/redis/redis-py/tree/master/redis/commands), or [the documentation](https://redis.readthedocs.io/en/stable/commands.html).\n\n## Advanced Topics\n\nThe [official Redis command documentation](https://redis.io/commands)\ndoes a great job of explaining each command in detail. redis-py attempts\nto adhere to the official command syntax. There are a few exceptions:\n\n- **MULTI/EXEC**: These are implemented as part of the Pipeline class.\n The pipeline is wrapped with the MULTI and EXEC statements by\n default when it is executed, which can be disabled by specifying\n transaction=False. See more about Pipelines below.\n\n- **SUBSCRIBE/LISTEN**: Similar to pipelines, PubSub is implemented as\n a separate class as it places the underlying connection in a state\n where it can\\'t execute non-pubsub commands. Calling the pubsub\n method from the Redis client will return a PubSub instance where you\n can subscribe to channels and listen for messages. You can only call\n PUBLISH from the Redis client (see [this comment on issue\n #151](https://github.com/redis/redis-py/issues/151#issuecomment-1545015)\n for details).\n\nFor more details, please see the documentation on [advanced topics page](https://redis.readthedocs.io/en/stable/advanced_features.html).\n\n### Pipelines\n\nThe following is a basic example of a [Redis pipeline](https://redis.io/docs/manual/pipelining/), a method to optimize round-trip calls, by batching Redis commands, and receiving their results as a list.\n\n\n``` python\n>>> pipe = r.pipeline()\n>>> pipe.set('foo', 5)\n>>> pipe.set('bar', 18.5)\n>>> pipe.set('blee', \"hello world!\")\n>>> pipe.execute()\n[True, True, True]\n```\n\n### PubSub\n\nThe following example shows how to utilize [Redis Pub/Sub](https://redis.io/docs/manual/pubsub/) to subscribe to specific channels.\n\n``` python\n>>> r = redis.Redis(...)\n>>> p = r.pubsub()\n>>> p.subscribe('my-first-channel', 'my-second-channel', ...)\n>>> p.get_message()\n{'pattern': None, 'type': 'subscribe', 'channel': b'my-second-channel', 'data': 1}\n```\n\n\n--------------------------\n\n### Author\n\nredis-py is developed and maintained by [Redis Inc](https://redis.com). It can be found [here](\nhttps://github.com/redis/redis-py), or downloaded from [pypi](https://pypi.org/project/redis/).\n\nSpecial thanks to:\n\n- Andy McCurdy () the original author of redis-py.\n- Ludovico Magnocavallo, author of the original Python Redis client,\n from which some of the socket code is still used.\n- Alexander Solovyov for ideas on the generic response callback\n system.\n- Paul Hubbard for initial packaging support.\n\n[![Redis](./docs/logo-redis.png)](https://www.redis.com)", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Redis Inc.", + "email": "oss@redis.com", + "url": null + } + ], + "keywords": [ + "Redis", + "key-value store", + "database", + "Development Status :: 5 - Production/Stable", + "Environment :: Console", + "Intended Audience :: Developers", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy" + ], + "homepage_url": "https://github.com/redis/redis-py", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/redis/redis-py/issues", + "code_view_url": "https://github.com/redis/redis-py", + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 1, + "end_line": 1, + "matched_length": 1, + "match_coverage": 100, + "matcher": "1-spdx-id", + "license_expression": "mit", + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_relevance": 100, + "rule_url": null, + "matched_text": "MIT" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + }, + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 1, + "end_line": 1, + "matched_length": 5, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "mit", + "rule_identifier": "pypi_mit_license.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", + "matched_text": "- 'License :: OSI Approved :: MIT License'" + } + ], + "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "license: MIT\nclassifiers:\n - 'License :: OSI Approved :: MIT License'\n", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": { + "Documentation": "https://redis.readthedocs.io/en/latest/", + "Changes": "https://github.com/redis/redis-py/releases" + }, + "dependencies": [], + "repository_homepage_url": "https://pypi.org/project/redis", + "repository_download_url": "https://pypi.org/packages/source/r/redis/redis-5.0.1.tar.gz", + "api_data_url": "https://pypi.org/pypi/redis/5.0.1/json", + "datasource_id": "pypi_sdist_pkginfo", + "purl": "pkg:pypi/redis@5.0.1" + } + ], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 8, + "end_line": 8, + "matched_length": 2, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_30.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", + "matched_text": "License: MIT" + } + ], + "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee" + }, + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 18, + "end_line": 18, + "matched_length": 5, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "pypi_mit_license.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", + "matched_text": "License :: OSI Approved :: MIT License" + } + ], + "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" + }, + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 34, + "end_line": 34, + "matched_length": 3, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "unknown-license-reference", + "rule_identifier": "unknown-license-reference_see_license_at_manifest_1.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see_license_at_manifest_1.RULE", + "matched_text": "License-File: LICENSE" + }, + { + "score": 100, + "start_line": 1, + "end_line": 1, + "matched_length": 2, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_14.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", + "matched_text": "MIT License" + }, + { + "score": 100, + "start_line": 5, + "end_line": 21, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE." + } + ], + "identifier": "mit-a979a2a3-dfdb-02aa-2450-71641a61a264", + "detection_log": [ + "unknown-reference-to-local-file" + ] + }, + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 42, + "end_line": 42, + "matched_length": 2, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_126.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_126.RULE", + "matched_text": "MIT licensed](" + }, + { + "score": 100, + "start_line": 42, + "end_line": 42, + "matched_length": 2, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_30.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", + "matched_text": "license-MIT-" + } + ], + "identifier": "mit-84e9222a-45a9-364a-bbfe-3a462e4b18c1" + } + ], + "license_clues": [], + "percentage_of_license_text": 1.14, + "copyrights": [], + "holders": [], + "authors": [ + { + "author": "Redis Inc.", + "start_line": 6, + "end_line": 6 + }, + { + "author": "Redis Inc (https://redis.com)", + "start_line": 183, + "end_line": 183 + } + ], + "emails": [ + { + "email": "oss@redis.com", + "start_line": 7, + "end_line": 7 + }, + { + "email": "sedrik@gmail.com", + "start_line": 188, + "end_line": 188 + } + ], + "urls": [ + { + "url": "https://github.com/redis/redis-py", + "start_line": 5, + "end_line": 5 + }, + { + "url": "https://redis.readthedocs.io/en/latest/", + "start_line": 9, + "end_line": 9 + }, + { + "url": "https://github.com/redis/redis-py/releases", + "start_line": 10, + "end_line": 10 + }, + { + "url": "https://github.com/redis/redis-py/issues", + "start_line": 12, + "end_line": 12 + }, + { + "url": "https://github.com/redis/redis-py/workflows/CI/badge.svg?branch=master", + "start_line": 40, + "end_line": 40 + }, + { + "url": "https://github.com/redis/redis-py/actions?query=workflow:CI+branch:master", + "start_line": 40, + "end_line": 40 + }, + { + "url": "https://readthedocs.org/projects/redis/badge/?version=stable&style=flat", + "start_line": 41, + "end_line": 41 + }, + { + "url": "https://redis-py.readthedocs.io/en/stable", + "start_line": 41, + "end_line": 41 + }, + { + "url": "https://img.shields.io/badge/license-MIT-blue.svg", + "start_line": 42, + "end_line": 42 + }, + { + "url": "https://badge.fury.io/py/redis.svg", + "start_line": 43, + "end_line": 43 + }, + { + "url": "https://pypi.org/project/redis", + "start_line": 43, + "end_line": 43 + }, + { + "url": "https://img.shields.io/github/v/release/redis/redis-py?include_prereleases&label=latest-prerelease", + "start_line": 44, + "end_line": 44 + }, + { + "url": "https://codecov.io/gh/redis/redis-py/branch/master/graph/badge.svg?token=yenl5fzxxr", + "start_line": 45, + "end_line": 45 + }, + { + "url": "https://codecov.io/gh/redis/redis-py", + "start_line": 45, + "end_line": 45 + }, + { + "url": "https://github.com/redis/redis-py/blob/master/CONTRIBUTING.md", + "start_line": 47, + "end_line": 47 + }, + { + "url": "https://devguide.python.org/versions", + "start_line": 51, + "end_line": 51 + }, + { + "url": "https://github.com/redis/redis-om-python", + "start_line": 76, + "end_line": 76 + }, + { + "url": "https://github.com/redis/redis/blob/5.0/00-RELEASENOTES", + "start_line": 80, + "end_line": 80 + }, + { + "url": "https://github.com/redis/redis/blob/6.0/00-RELEASENOTES", + "start_line": 80, + "end_line": 80 + }, + { + "url": "https://github.com/redis/redis/blob/6.2/00-RELEASENOTES", + "start_line": 80, + "end_line": 80 + }, + { + "url": "https://github.com/redis/redis/blob/7.0/00-RELEASENOTES", + "start_line": 80, + "end_line": 80 + }, + { + "url": "https://github.com/redis/redis/blob/7.2/00-RELEASENOTES", + "start_line": 80, + "end_line": 80 + }, + { + "url": "https://redis.readthedocs.io/en/stable/examples.html", + "start_line": 104, + "end_line": 104 + }, + { + "url": "https://redis.readthedocs.io/en/stable/connections.html#connection-pools", + "start_line": 117, + "end_line": 117 + }, + { + "url": "https://redis.readthedocs.io/en/stable/examples/asyncio_examples.html", + "start_line": 124, + "end_line": 124 + }, + { + "url": "https://redis.readthedocs.io/en/stable/connections.html#cluster-client", + "start_line": 124, + "end_line": 124 + }, + { + "url": "https://redis.readthedocs.io/en/stable/connections.html#async-cluster-client", + "start_line": 124, + "end_line": 124 + }, + { + "url": "https://redis.io/commands", + "start_line": 128, + "end_line": 128 + }, + { + "url": "https://github.com/redis/redis-py/tree/master/redis/commands", + "start_line": 128, + "end_line": 128 + }, + { + "url": "https://redis.readthedocs.io/en/stable/commands.html", + "start_line": 128, + "end_line": 128 + }, + { + "url": "https://github.com/redis/redis-py/issues/151#issuecomment-1545015", + "start_line": 147, + "end_line": 147 + }, + { + "url": "https://redis.readthedocs.io/en/stable/advanced_features.html", + "start_line": 150, + "end_line": 150 + }, + { + "url": "https://redis.io/docs/manual/pipelining", + "start_line": 154, + "end_line": 154 + }, + { + "url": "https://redis.io/docs/manual/pubsub", + "start_line": 168, + "end_line": 168 + }, + { + "url": "https://redis.com/", + "start_line": 183, + "end_line": 183 + }, + { + "url": "https://www.redis.com/", + "start_line": 195, + "end_line": 195 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/README.md", + "type": "file", + "name": "README.md", + "base_name": "README", + "extension": ".md", + "size": 7071, + "date": "2023-09-26", + "sha1": "1344a1cdfd1e23686aa87d8b250dc32abfc4e3e8", + "md5": "9e0539d508cee0848e1abc4ddb4fb9fa", + "sha256": "478b10cafd361b8e457199039d3715be7b8bc11b392e16649325c1ea9cd9b4da", + "mime_type": "text/plain", + "file_type": "ASCII text, with very long lines", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": true, + "is_top_level": true, + "is_key_file": true, + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 7, + "end_line": 7, + "matched_length": 2, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_126.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_126.RULE", + "matched_text": "MIT licensed](" + }, + { + "score": 100, + "start_line": 7, + "end_line": 7, + "matched_length": 2, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_30.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", + "matched_text": "license-MIT-" + } + ], + "identifier": "mit-84e9222a-45a9-364a-bbfe-3a462e4b18c1" + } + ], + "license_clues": [], + "percentage_of_license_text": 0.38, + "copyrights": [], + "holders": [], + "authors": [ + { + "author": "Redis Inc (https://redis.com)", + "start_line": 148, + "end_line": 148 + } + ], + "emails": [ + { + "email": "sedrik@gmail.com", + "start_line": 153, + "end_line": 153 + } + ], + "urls": [ + { + "url": "https://github.com/redis/redis-py/workflows/CI/badge.svg?branch=master", + "start_line": 5, + "end_line": 5 + }, + { + "url": "https://github.com/redis/redis-py/actions?query=workflow:CI+branch:master", + "start_line": 5, + "end_line": 5 + }, + { + "url": "https://readthedocs.org/projects/redis/badge/?version=stable&style=flat", + "start_line": 6, + "end_line": 6 + }, + { + "url": "https://redis-py.readthedocs.io/en/stable", + "start_line": 6, + "end_line": 6 + }, + { + "url": "https://img.shields.io/badge/license-MIT-blue.svg", + "start_line": 7, + "end_line": 7 + }, + { + "url": "https://badge.fury.io/py/redis.svg", + "start_line": 8, + "end_line": 8 + }, + { + "url": "https://pypi.org/project/redis", + "start_line": 8, + "end_line": 8 + }, + { + "url": "https://img.shields.io/github/v/release/redis/redis-py?include_prereleases&label=latest-prerelease", + "start_line": 9, + "end_line": 9 + }, + { + "url": "https://github.com/redis/redis-py/releases", + "start_line": 9, + "end_line": 9 + }, + { + "url": "https://codecov.io/gh/redis/redis-py/branch/master/graph/badge.svg?token=yenl5fzxxr", + "start_line": 10, + "end_line": 10 + }, + { + "url": "https://codecov.io/gh/redis/redis-py", + "start_line": 10, + "end_line": 10 + }, + { + "url": "https://github.com/redis/redis-py/blob/master/CONTRIBUTING.md", + "start_line": 12, + "end_line": 12 + }, + { + "url": "https://devguide.python.org/versions", + "start_line": 16, + "end_line": 16 + }, + { + "url": "https://github.com/redis/redis-om-python", + "start_line": 41, + "end_line": 41 + }, + { + "url": "https://github.com/redis/redis/blob/5.0/00-RELEASENOTES", + "start_line": 45, + "end_line": 45 + }, + { + "url": "https://github.com/redis/redis/blob/6.0/00-RELEASENOTES", + "start_line": 45, + "end_line": 45 + }, + { + "url": "https://github.com/redis/redis/blob/6.2/00-RELEASENOTES", + "start_line": 45, + "end_line": 45 + }, + { + "url": "https://github.com/redis/redis/blob/7.0/00-RELEASENOTES", + "start_line": 45, + "end_line": 45 + }, + { + "url": "https://github.com/redis/redis/blob/7.2/00-RELEASENOTES", + "start_line": 45, + "end_line": 45 + }, + { + "url": "https://redis.readthedocs.io/en/stable/examples.html", + "start_line": 69, + "end_line": 69 + }, + { + "url": "https://redis.readthedocs.io/en/stable/connections.html#connection-pools", + "start_line": 82, + "end_line": 82 + }, + { + "url": "https://redis.readthedocs.io/en/stable/examples/asyncio_examples.html", + "start_line": 89, + "end_line": 89 + }, + { + "url": "https://redis.readthedocs.io/en/stable/connections.html#cluster-client", + "start_line": 89, + "end_line": 89 + }, + { + "url": "https://redis.readthedocs.io/en/stable/connections.html#async-cluster-client", + "start_line": 89, + "end_line": 89 + }, + { + "url": "https://redis.io/commands", + "start_line": 93, + "end_line": 93 + }, + { + "url": "https://github.com/redis/redis-py/tree/master/redis/commands", + "start_line": 93, + "end_line": 93 + }, + { + "url": "https://redis.readthedocs.io/en/stable/commands.html", + "start_line": 93, + "end_line": 93 + }, + { + "url": "https://github.com/redis/redis-py/issues/151#issuecomment-1545015", + "start_line": 112, + "end_line": 112 + }, + { + "url": "https://redis.readthedocs.io/en/stable/advanced_features.html", + "start_line": 115, + "end_line": 115 + }, + { + "url": "https://redis.io/docs/manual/pipelining", + "start_line": 119, + "end_line": 119 + }, + { + "url": "https://redis.io/docs/manual/pubsub", + "start_line": 133, + "end_line": 133 + }, + { + "url": "https://redis.com/", + "start_line": 148, + "end_line": 148 + }, + { + "url": "https://github.com/redis/redis-py", + "start_line": 149, + "end_line": 149 + }, + { + "url": "https://www.redis.com/", + "start_line": 160, + "end_line": 160 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/setup.cfg", + "type": "file", + "name": "setup.cfg", + "base_name": "setup", + "extension": ".cfg", + "size": 38, + "date": "2023-09-26", + "sha1": "fbb1975fd414af07da5ba9054cef698ea3b9dd4e", + "md5": "3f78c6150b7d619a476c799812e31d5a", + "sha256": "1c473cbaee8da5fc46e7f0158794af5cea4414c34a3cf3f180c2001f5e38bd3e", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [ + { + "type": "pypi", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Python", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 1, + "end_line": 1, + "matched_length": 2, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_14.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", + "matched_text": "MIT License" + }, + { + "score": 100, + "start_line": 5, + "end_line": 21, + "matched_length": 161, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": "Permission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE." + } + ], + "identifier": "mit-ac40beba-5702-f54d-755f-333441314bb0" + }, + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 7, + "end_line": 7, + "matched_length": 2, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_126.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_126.RULE", + "matched_text": "MIT licensed](" + }, + { + "score": 100, + "start_line": 7, + "end_line": 7, + "matched_length": 2, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_30.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", + "matched_text": "license-MIT-" + } + ], + "identifier": "mit-84e9222a-45a9-364a-bbfe-3a462e4b18c1" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "pypi_setup_cfg", + "purl": null + } + ], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/setup.py", + "type": "file", + "name": "setup.py", + "base_name": "setup", + "extension": ".py", + "size": 2376, + "date": "2023-09-26", + "sha1": "ca89d6780e05b55d0fd15d865e05554e159bad75", + "md5": "f4583528cbd3a4ef71ff46f81e645615", + "sha256": "fa67eb34f29022e7628da85ca7ac3aac15409b368540d3d11c66bb77512c5c82", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [ + { + "type": "pypi", + "namespace": null, + "name": "redis", + "version": "5.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Python", + "description": "Python client for Redis database and key-value store", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Redis Inc.", + "email": "oss@redis.com", + "url": null + } + ], + "keywords": [ + "Redis", + "key-value store", + "database", + "Development Status :: 5 - Production/Stable", + "Environment :: Console", + "Intended Audience :: Developers", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy" + ], + "homepage_url": "https://github.com/redis/redis-py", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/redis/redis-py/issues", + "code_view_url": "https://github.com/redis/redis-py", + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 1, + "end_line": 1, + "matched_length": 1, + "match_coverage": 100, + "matcher": "1-spdx-id", + "license_expression": "mit", + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_relevance": 100, + "rule_url": null, + "matched_text": "MIT" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + }, + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 1, + "end_line": 1, + "matched_length": 5, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "mit", + "rule_identifier": "pypi_mit_license.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", + "matched_text": "- 'License :: OSI Approved :: MIT License'" + } + ], + "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "license: MIT\nclassifiers:\n - 'License :: OSI Approved :: MIT License'\n", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": { + "Documentation": "https://redis.readthedocs.io/en/latest/", + "Changes": "https://github.com/redis/redis-py/releases", + "python_requires": ">=3.7" + }, + "dependencies": [ + { + "purl": "pkg:pypi/importlib-metadata", + "extracted_requirement": "importlib-metadata>=1.0; python_version < \"3.8\"", + "scope": "install", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/typing-extensions", + "extracted_requirement": "typing-extensions; python_version < \"3.8\"", + "scope": "install", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/async-timeout", + "extracted_requirement": "async-timeout>=4.0.2; python_full_version <= \"3.11.2\"", + "scope": "install", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/hiredis", + "extracted_requirement": "hiredis>=1.0.0", + "scope": "hiredis", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/cryptography", + "extracted_requirement": "cryptography>=36.0.1", + "scope": "ocsp", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/pyopenssl@20.0.1", + "extracted_requirement": "pyopenssl==20.0.1", + "scope": "ocsp", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/requests", + "extracted_requirement": "requests>=2.26.0", + "scope": "ocsp", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": "https://pypi.org/project/redis", + "repository_download_url": "https://pypi.org/packages/source/r/redis/redis-5.0.1.tar.gz", + "api_data_url": "https://pypi.org/pypi/redis/5.0.1/json", + "datasource_id": "pypi_setup_py", + "purl": "pkg:pypi/redis@5.0.1" + } + ], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "mit", + "detected_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 10, + "end_line": 10, + "matched_length": 2, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_30.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", + "matched_text": "license=\"MIT\"," + } + ], + "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee" + }, + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 47, + "end_line": 47, + "matched_length": 5, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "pypi_mit_license.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", + "matched_text": "License :: OSI Approved :: MIT License\"," + } + ], + "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" + } + ], + "license_clues": [], + "percentage_of_license_text": 2.79, + "copyrights": [], + "holders": [], + "authors": [ + { + "author": "Redis Inc", + "start_line": 35, + "end_line": 35 + } + ], + "emails": [ + { + "email": "oss@redis.com", + "start_line": 36, + "end_line": 36 + } + ], + "urls": [ + { + "url": "https://github.com/redis/redis-py", + "start_line": 28, + "end_line": 28 + }, + { + "url": "https://redis.readthedocs.io/en/latest/", + "start_line": 30, + "end_line": 30 + }, + { + "url": "https://github.com/redis/redis-py/releases", + "start_line": 31, + "end_line": 31 + }, + { + "url": "https://github.com/redis/redis-py/issues", + "start_line": 33, + "end_line": 33 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis", + "type": "directory", + "name": "redis", + "base_name": "redis", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 70, + "dirs_count": 8, + "size_count": 1029327, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/__init__.py", + "type": "file", + "name": "__init__.py", + "base_name": "__init__", + "extension": ".py", + "size": 2110, + "date": "2023-09-26", + "sha1": "c0c0d3050060ceb69332d0594b86878aa0cbbac1", + "md5": "3568af0f8208d79fba217c5b284c4071", + "sha256": "3ed8523847d72a5615f71060ae83a73b6b490fbbaed015b0bf3b60b0a52f2b8f", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/backoff.py", + "type": "file", + "name": "backoff.py", + "base_name": "backoff", + "extension": ".py", + "size": 2966, + "date": "2023-09-26", + "sha1": "68b78d6187c2377eb158a29501c9286e698edeb4", + "md5": "6a7e997e9386fbd6bcf5dad7aa46be37", + "sha256": "c7eb008d5eeee0c99d3a3159499f119d49c2690b4f84205b18d060202bc25b72", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/client.py", + "type": "file", + "name": "client.py", + "base_name": "client", + "extension": ".py", + "size": 57514, + "date": "2023-09-26", + "sha1": "ef977491497cb4a267b37e75a4bfd63cd2bf17fa", + "md5": "6a97377b3b785a5432c5007c32d7dd0e", + "sha256": "224a9810f836580df98c18cf0a912070a7155b71f1f259bcf63fc8436767a0ec", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.iana.org/assignments/uri-schemes/prov/redis", + "start_line": 110, + "end_line": 110 + }, + { + "url": "https://www.iana.org/assignments/uri-schemes/prov/rediss", + "start_line": 112, + "end_line": 112 + }, + { + "url": "https://redis.io/commands/DISCARD", + "start_line": 1488, + "end_line": 1488 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/cluster.py", + "type": "file", + "name": "cluster.py", + "base_name": "cluster", + "extension": ".py", + "size": 92754, + "date": "2023-09-26", + "sha1": "ec884c550b71977b15282d33ea8ffb335c256ecc", + "md5": "07c3138424d72c2353edf790812df98e", + "sha256": "1dc1f660cd39ef1a563108466012d6bf997dcab6fb873712b8f5d76ea265fc36", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.iana.org/assignments/uri-schemes/prov/redis", + "start_line": 460, + "end_line": 460 + }, + { + "url": "https://www.iana.org/assignments/uri-schemes/prov/rediss", + "start_line": 462, + "end_line": 462 + }, + { + "url": "https://redis.io/topics/cluster-tutorial#redis-cluster-configuration-parameters", + "start_line": 520, + "end_line": 520 + }, + { + "url": "https://github.com/andymccurdy/redis-py/blob/master/redis/client.py", + "start_line": 561, + "end_line": 561 + }, + { + "url": "https://redis.io/topics/cluster-spec", + "start_line": 935, + "end_line": 935 + }, + { + "url": "https://github.com/redis/redis/issues/9493", + "start_line": 947, + "end_line": 947 + }, + { + "url": "https://github.com/redis/redis/pull/9733", + "start_line": 948, + "end_line": 948 + }, + { + "url": "https://redis-py-cluster.readthedocs.io/en/stable/pubsub.html", + "start_line": 1656, + "end_line": 1656 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/compat.py", + "type": "file", + "name": "compat.py", + "base_name": "compat", + "extension": ".py", + "size": 242, + "date": "2023-09-26", + "sha1": "7a68e6ba71839daec2293292166bc3ccce0bf374", + "md5": "a9f980473a4fd15d3f27727be4be28fc", + "sha256": "b6bfadf681dd7a8b2b2b74ef67249a2ef3f76651aa4d941a5ed953aa2aa9ffc2", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/connection.py", + "type": "file", + "name": "connection.py", + "base_name": "connection", + "extension": ".py", + "size": 50524, + "date": "2023-09-26", + "sha1": "302c92576ee828fe5f4ed4460b4ad776a4438c3b", + "md5": "4df7e6383430816ccc8451b05d851569", + "sha256": "7f11e5e627074b7324d808477921b172931c63969e1e6ab9e7cf60d97c88ff18", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://github.com/andymccurdy/redis-py/issues/1274", + "start_line": 347, + "end_line": 347 + }, + { + "url": "https://docs.python.org/3/library/ssl.html#ssl.SSLContext", + "start_line": 658, + "end_line": 658 + }, + { + "url": "https://www.iana.org/assignments/uri-schemes/prov/redis", + "start_line": 944, + "end_line": 944 + }, + { + "url": "https://www.iana.org/assignments/uri-schemes/prov/rediss", + "start_line": 946, + "end_line": 946 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/crc.py", + "type": "file", + "name": "crc.py", + "base_name": "crc", + "extension": ".py", + "size": 729, + "date": "2023-09-26", + "sha1": "ac7356ce4290512927997fcc9d11b5bd1fa24025", + "md5": "306a802435e4c2cf9bdd9331182ad81a", + "sha256": "67791716d918d8b76079f9d032e775c6be2f1b9518bc0f4b08ca8d317d72c2ee", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://github.com/redis/redis/issues/2576", + "start_line": 6, + "end_line": 6 + }, + { + "url": "https://redis.io/topics/cluster-spec", + "start_line": 14, + "end_line": 14 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/credentials.py", + "type": "file", + "name": "credentials.py", + "base_name": "credentials", + "extension": ".py", + "size": 738, + "date": "2023-09-26", + "sha1": "b75b4e0ad3d636a1fc9b8e62a15a9c7b099b807c", + "md5": "eb2bc06b85b69bfb7b49c11b8a2e0d7b", + "sha256": "e95bc5791785a7abdeae71885a52153a6f0e99b360a0561d775c20b236539e59", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/exceptions.py", + "type": "file", + "name": "exceptions.py", + "base_name": "exceptions", + "extension": ".py", + "size": 5103, + "date": "2023-09-26", + "sha1": "0be48e2cde02a85ac45a8720f218c30e76e30921", + "md5": "181204f861fb32da21817a1c45c7c9e9", + "sha256": "03359e604a5547592851d74c82fcf4599c663d7fe3ca4b1a82845ff0549258a0", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://redis.io/docs/management/optimization/memory-optimization/#memory-allocation", + "start_line": 58, + "end_line": 58 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/lock.py", + "type": "file", + "name": "lock.py", + "base_name": "lock", + "extension": ".py", + "size": 11564, + "date": "2023-09-26", + "sha1": "b5daf7a7baa32d621d12fbc7d87889e83e0ee3b0", + "md5": "6411a17799ddc1a2fcc00671d634f2e8", + "sha256": "0b007faa8ec00c3192b7f26a8d02922f59ca0c2c1d6fe01226c025bf424eea60", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/ocsp.py", + "type": "file", + "name": "ocsp.py", + "base_name": "ocsp", + "extension": ".py", + "size": 11450, + "date": "2023-09-26", + "sha1": "e4a3326e8115b2e4c70ac2258cb3057dab37a0c9", + "md5": "ec9f0c9c7b74ed81a3eac1fd057e2a69", + "sha256": "5b08866f2eb26584740f79609e741898f2b2f9402062a1978ba0388c305918be", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://stackoverflow.com/a/46309453/600498", + "start_line": 128, + "end_line": 128 + }, + { + "url": "https://datatracker.ietf.org/doc/html/rfc6960", + "start_line": 173, + "end_line": 173 + }, + { + "url": "https://datatracker.ietf.org/doc/html/rfc6961", + "start_line": 174, + "end_line": 174 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/retry.py", + "type": "file", + "name": "retry.py", + "base_name": "retry", + "extension": ".py", + "size": 1817, + "date": "2023-09-26", + "sha1": "3e458c29544dbcbe1ebb5d37887db591f47df0df", + "md5": "a07cfd7736b7caaad40b8fb44fd744cf", + "sha256": "4aca7db368610dfc91b34ac2442693811b4b47b34060ee50330e107e5a2eac6a", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/sentinel.py", + "type": "file", + "name": "sentinel.py", + "base_name": "sentinel", + "extension": ".py", + "size": 14175, + "date": "2023-09-26", + "sha1": "eaf9b5f5d97cffaaf9db36a101174b5b0b924c69", + "md5": "c01c423dd23c9e69a7851244e2aca7ed", + "sha256": "084aec0fe7379981675c3b6d098d4ebe9c9475f29cc83e45f49bfd15dde21ee5", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/typing.py", + "type": "file", + "name": "typing.py", + "base_name": "typing", + "extension": ".py", + "size": 2212, + "date": "2023-09-26", + "sha1": "dbbb01d023aa19c70ae4a40b66c185f9a7d1c485", + "md5": "4233263362bb7c16863a6c0623ad24f6", + "sha256": "c23ca28448f21a226b8a072cd3ece1cbb2be333572eee2e2763b3335d3c732e8", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/utils.py", + "type": "file", + "name": "utils.py", + "base_name": "utils", + "extension": ".py", + "size": 3381, + "date": "2023-09-26", + "sha1": "36e3d5d37b4d1f06dc03157b70539976c2981c21", + "md5": "8b86e76dd6865f4aff49bd7b43b9fcaf", + "sha256": "f3ba7b2269e287222189aa9a955621f50abd25e695c22fd8e0607335a1c05c98", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/_parsers", + "type": "directory", + "name": "_parsers", + "base_name": "_parsers", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 9, + "dirs_count": 0, + "size_count": 76217, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/_parsers/__init__.py", + "type": "file", + "name": "__init__.py", + "base_name": "__init__", + "extension": ".py", + "size": 550, + "date": "2023-09-26", + "sha1": "4762958d1b6a16448c791a031fb22255a2df63c7", + "md5": "0b23b3d554da2a62d55c161ea277f544", + "sha256": "aa47e05765fd8b2bd002f6cb7527a5c20cf474293d486028b02bee642f7ea837", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/_parsers/base.py", + "type": "file", + "name": "base.py", + "base_name": "base", + "extension": ".py", + "size": 7480, + "date": "2023-09-26", + "sha1": "0e2402361934f3599dc6e39f3dec39a1edd587b4", + "md5": "e2981e43b4a7fc59e1c7cdfd1b8ed801", + "sha256": "f794a83cdc2de3125007e38d223c6c478ea7e041e7c679a4bfd7f445e652211d", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/_parsers/commands.py", + "type": "file", + "name": "commands.py", + "base_name": "commands", + "extension": ".py", + "size": 11052, + "date": "2023-09-26", + "sha1": "a432a73f123ea8c6748fffc8db237f4be1d62cae", + "md5": "13b26d42e8ae10bcf34a07f62cdc3f3a", + "sha256": "a66478865e2ef7752f0a678381e3c715cea9583af8b25aca12f0ac74c9ad8ff3", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://github.com/redis/redis/pull/8324", + "start_line": 81, + "end_line": 81 + }, + { + "url": "https://github.com/redis/redis/issues/9493", + "start_line": 88, + "end_line": 88 + }, + { + "url": "https://github.com/redis/redis/pull/9733", + "start_line": 89, + "end_line": 89 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/_parsers/encoders.py", + "type": "file", + "name": "encoders.py", + "base_name": "encoders", + "extension": ".py", + "size": 1734, + "date": "2023-09-26", + "sha1": "dc5b5072e24e8edc34394038079479963b275b94", + "md5": "a511476c79b1e0a5d6c38ba4475d72e0", + "sha256": "5f48ef4e9f84e13654959c55e4b249f3c4ee56b175be5cb9b6e0b4c63c466927", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/_parsers/helpers.py", + "type": "file", + "name": "helpers.py", + "base_name": "helpers", + "extension": ".py", + "size": 27947, + "date": "2023-09-26", + "sha1": "25c8e0d8416c8115e3a1d0e3f5898c9d529abd68", + "md5": "ba8b81bda0bc3f0d383c2d4f4e973ca0", + "sha256": "c5c4638e7b3ab903dbda9a7400e94e2bd2e13092f8a1fc84305a9503b0b0cec1", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://redis.io/commands/cluster-nodes", + "start_line": 471, + "end_line": 471 + }, + { + "url": "https://redis.io/commands/cluster-replicas", + "start_line": 472, + "end_line": 472 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/_parsers/hiredis.py", + "type": "file", + "name": "hiredis.py", + "base_name": "hiredis", + "extension": ".py", + "size": 7581, + "date": "2023-09-26", + "sha1": "5a6d01a96861ec8779298fed57fff1d5796c2fab", + "md5": "9215526b47fc2c4d13e5561613afd602", + "sha256": "5fcca4d049441231e5854823b3d7dd1d23a28e5c58b6e9d3ad32522f3906aef4", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/_parsers/resp2.py", + "type": "file", + "name": "resp2.py", + "base_name": "resp2", + "extension": ".py", + "size": 4813, + "date": "2023-09-26", + "sha1": "4df588f1edcbb62df24fc1679f70c233990f1707", + "md5": "50ae4aa2ef8802e34a36adb316c4d361", + "sha256": "7f6da41fefd93f688db4e9fac4e7bae4c4b2fdf269bbc3849f5bbf86079ea232", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/_parsers/resp3.py", + "type": "file", + "name": "resp3.py", + "base_name": "resp3", + "extension": ".py", + "size": 9657, + "date": "2023-09-26", + "sha1": "024989ab99e086963d92f08e8b45339f1e00ddbf", + "md5": "2fb30e1ee6ddddf04b600a23dd6379a5", + "sha256": "ad70c0d11fb08c28f6bf219a69611fe7435737b50507379f4672b7346cd6cf61", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/_parsers/socket.py", + "type": "file", + "name": "socket.py", + "base_name": "socket", + "extension": ".py", + "size": 5403, + "date": "2023-09-26", + "sha1": "e1ad15b1c228e6187d8329eb213b4eab0f408b9d", + "md5": "a92eb07dfe5fcba9f11fe8f7a8646da7", + "sha256": "08a0fc416ff0152365219cf195b35db9a1a98afd08f3005cb06b802288c37c98", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/asyncio", + "type": "directory", + "name": "asyncio", + "base_name": "asyncio", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 8, + "dirs_count": 0, + "size_count": 195905, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/asyncio/__init__.py", + "type": "file", + "name": "__init__.py", + "base_name": "__init__", + "extension": ".py", + "size": 1489, + "date": "2023-09-26", + "sha1": "a83517bad93d68764ddb21a9a978316b1bd8a078", + "md5": "c391b1268e3fd6c21b59b3801beebacb", + "sha256": "ba80c3f176158b42a3ea672e7d8c0b0d44d05e6051c7b6b46e1285f6cb59afb2", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/asyncio/client.py", + "type": "file", + "name": "client.py", + "base_name": "client", + "extension": ".py", + "size": 58826, + "date": "2023-09-26", + "sha1": "ca3aa2e8c108d1c6b54bff6c92ddb393e7730977", + "md5": "dfc8ae69be50427db42d9717111c4226", + "sha256": "058bab0d3d7796cc343776bcb0ba90165d34b45168969113eff12e8cbc3635b7", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://www.iana.org/assignments/uri-schemes/prov/redis", + "start_line": 132, + "end_line": 132 + }, + { + "url": "https://www.iana.org/assignments/uri-schemes/prov/rediss", + "start_line": 134, + "end_line": 134 + }, + { + "url": "https://github.com/python/mypy/issues/10977", + "start_line": 637, + "end_line": 637 + }, + { + "url": "https://github.com/python/mypy/issues/10970", + "start_line": 954, + "end_line": 954 + }, + { + "url": "https://redis.io/commands/DISCARD", + "start_line": 1521, + "end_line": 1521 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/asyncio/cluster.py", + "type": "file", + "name": "cluster.py", + "base_name": "cluster", + "extension": ".py", + "size": 63076, + "date": "2023-09-26", + "sha1": "e7438033949d88afb63c274480aca376ce9e1fb3", + "md5": "cda53d04c997c7499b5152f8b3da76a8", + "sha256": "6b465ada272bd37cad8c5fd656884332f1197a38b151d54c869b0a59e3316076", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://redis.io/docs/manual/scaling/#redis-cluster-configuration-parameters", + "start_line": 130, + "end_line": 130 + }, + { + "url": "https://www.iana.org/assignments/uri-schemes/prov/redis", + "start_line": 189, + "end_line": 189 + }, + { + "url": "https://www.iana.org/assignments/uri-schemes/prov/rediss", + "start_line": 191, + "end_line": 191 + }, + { + "url": "https://redis.io/docs/manual/scaling/#redis-cluster-data-sharding", + "start_line": 533, + "end_line": 533 + }, + { + "url": "https://github.com/redis/redis/issues/9493", + "start_line": 604, + "end_line": 604 + }, + { + "url": "https://github.com/redis/redis/pull/9733", + "start_line": 605, + "end_line": 605 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/asyncio/connection.py", + "type": "file", + "name": "connection.py", + "base_name": "connection", + "extension": ".py", + "size": 43426, + "date": "2023-09-26", + "sha1": "1612a88f6831e1aae7af316dfc2fd027320af8e5", + "md5": "cab43cbfcd42652e1c6ec1bb0a72d1d0", + "sha256": "6700a56ac676c7449063dd200d9beb685231da58463e70e6fb15143cfb1be36e", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://github.com/redis/redis-py/issues/2633", + "start_line": 28, + "end_line": 28 + }, + { + "url": "https://github.com/andymccurdy/redis-py/issues/1274", + "start_line": 331, + "end_line": 331 + }, + { + "url": "https://github.com/redis/redis-py/issues/2237", + "start_line": 684, + "end_line": 684 + }, + { + "url": "https://github.com/python/cpython/issues/94061", + "start_line": 685, + "end_line": 685 + }, + { + "url": "https://docs.python.org/3/library/ssl.html#ssl.SSLContext", + "start_line": 699, + "end_line": 699 + }, + { + "url": "https://www.iana.org/assignments/uri-schemes/prov/redis", + "start_line": 961, + "end_line": 961 + }, + { + "url": "https://www.iana.org/assignments/uri-schemes/prov/rediss", + "start_line": 963, + "end_line": 963 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/asyncio/lock.py", + "type": "file", + "name": "lock.py", + "base_name": "lock", + "extension": ".py", + "size": 11967, + "date": "2023-09-26", + "sha1": "ffdd5c9f9046897e6c32bbbda6fecf98e69e5973", + "md5": "8386c4dd8e6c9dfe51ef0da2c273def6", + "sha256": "94b6ac5c43b61350ac9215f9659a1a486a66c193f543bf364771c050d1b7c03e", + "mime_type": "text/x-ruby", + "file_type": "Ruby script, ASCII text", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/asyncio/retry.py", + "type": "file", + "name": "retry.py", + "base_name": "retry", + "extension": ".py", + "size": 2219, + "date": "2023-09-26", + "sha1": "0db378481c12da12b628ab3dd0692cfa4b86bb9d", + "md5": "7a724f292c8ca044ca1bab68113a3fc5", + "sha256": "4a73cf3a5a3981cc8816d902e0363b1c5be60e051a20bb09dc37878a8a20741f", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/asyncio/sentinel.py", + "type": "file", + "name": "sentinel.py", + "base_name": "sentinel", + "extension": ".py", + "size": 14198, + "date": "2023-09-26", + "sha1": "a7981db76fe4cacbe8803f0ff4a73ec037983e8c", + "md5": "5892a083cc679ed2efe09afbc8747c95", + "sha256": "b1354909b8b52ad21b1c97377e41d165bfcb19abff52d080abe8a9c65b641ac1", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/asyncio/utils.py", + "type": "file", + "name": "utils.py", + "base_name": "utils", + "extension": ".py", + "size": 704, + "date": "2023-09-26", + "sha1": "b1a82788a459e2ed04a1fd781bf42eaa98e58c07", + "md5": "fd4162109cde6f1d31282f34a244018e", + "sha256": "631739610ba684b8ed0c3c024b89a0c48eb2cb6676d40ccb945c556f10a88627", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands", + "type": "directory", + "name": "commands", + "base_name": "commands", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 38, + "dirs_count": 5, + "size_count": 499926, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/__init__.py", + "type": "file", + "name": "__init__.py", + "base_name": "__init__", + "extension": ".py", + "size": 576, + "date": "2023-09-26", + "sha1": "6cf0459a981d994ecc6b7f4da3de76cd604bff87", + "md5": "d09a961b869537653ced61c3111489f5", + "sha256": "713507f8c1af68b612d16ba8cadcaab4dd709e2c3603529b9145dca6f3926372", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/cluster.py", + "type": "file", + "name": "cluster.py", + "base_name": "cluster", + "extension": ".py", + "size": 31562, + "date": "2023-09-26", + "sha1": "a85e55e52eaf999bc56981472e17171e98928d97", + "md5": "065c74170b95841041b33e67756ccb2f", + "sha256": "e410f075e52759558e6a51797c70f5d873d0783abfadcdaf86e088dec0a1ad81", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://redis.io/commands", + "start_line": 53, + "end_line": 53 + }, + { + "url": "https://redis.io/commands/mget", + "start_line": 166, + "end_line": 166 + }, + { + "url": "https://redis.io/commands/mset", + "start_line": 191, + "end_line": 191 + }, + { + "url": "https://redis.io/commands/exists", + "start_line": 218, + "end_line": 218 + }, + { + "url": "https://redis.io/commands/del", + "start_line": 231, + "end_line": 231 + }, + { + "url": "https://redis.io/commands/touch", + "start_line": 246, + "end_line": 246 + }, + { + "url": "https://redis.io/commands/unlink", + "start_line": 260, + "end_line": 260 + }, + { + "url": "https://redis.io/commands/slaveof", + "start_line": 356, + "end_line": 356 + }, + { + "url": "https://redis.io/commands/replicaof", + "start_line": 364, + "end_line": 364 + }, + { + "url": "https://redis.io/commands/swapdb", + "start_line": 372, + "end_line": 372 + }, + { + "url": "https://redis.io/commands/cluster-myid/", + "start_line": 383, + "end_line": 383 + }, + { + "url": "https://redis.io/commands/cluster-addslots", + "start_line": 396, + "end_line": 396 + }, + { + "url": "https://redis.io/commands/cluster-addslotsrange", + "start_line": 414, + "end_line": 414 + }, + { + "url": "https://redis.io/commands/cluster-countkeysinslot", + "start_line": 425, + "end_line": 425 + }, + { + "url": "https://redis.io/commands/cluster-count-failure-reports", + "start_line": 434, + "end_line": 434 + }, + { + "url": "https://redis.io/commands/cluster-delslots", + "start_line": 445, + "end_line": 445 + }, + { + "url": "https://redis.io/commands/cluster-delslotsrange", + "start_line": 456, + "end_line": 456 + }, + { + "url": "https://redis.io/commands/cluster-failover", + "start_line": 470, + "end_line": 470 + }, + { + "url": "https://redis.io/commands/cluster-info", + "start_line": 490, + "end_line": 490 + }, + { + "url": "https://redis.io/commands/cluster-keyslot", + "start_line": 499, + "end_line": 499 + }, + { + "url": "https://redis.io/commands/cluster-meet", + "start_line": 510, + "end_line": 510 + }, + { + "url": "https://redis.io/commands/cluster-nodes", + "start_line": 521, + "end_line": 521 + }, + { + "url": "https://redis.io/commands/cluster-replicate", + "start_line": 531, + "end_line": 531 + }, + { + "url": "https://redis.io/commands/cluster-reset", + "start_line": 546, + "end_line": 546 + }, + { + "url": "https://redis.io/commands/cluster-saveconfig", + "start_line": 558, + "end_line": 558 + }, + { + "url": "https://redis.io/commands/cluster-getkeysinslot", + "start_line": 566, + "end_line": 566 + }, + { + "url": "https://redis.io/commands/cluster-set-config-epoch", + "start_line": 576, + "end_line": 576 + }, + { + "url": "https://redis.io/commands/cluster-setslot", + "start_line": 591, + "end_line": 591 + }, + { + "url": "https://redis.io/commands/cluster-replicas", + "start_line": 618, + "end_line": 618 + }, + { + "url": "https://redis.io/commands/cluster-slots", + "start_line": 628, + "end_line": 628 + }, + { + "url": "https://redis.io/commands/cluster-shards", + "start_line": 636, + "end_line": 636 + }, + { + "url": "https://redis.io/commands/cluster-myshardid/", + "start_line": 644, + "end_line": 644 + }, + { + "url": "https://redis.io/commands/cluster-links", + "start_line": 656, + "end_line": 656 + }, + { + "url": "https://redis.io/commands/readonly", + "start_line": 676, + "end_line": 676 + }, + { + "url": "https://redis.io/commands/readwrite", + "start_line": 690, + "end_line": 690 + }, + { + "url": "https://redis.io/commands/stralgo", + "start_line": 767, + "end_line": 767 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/core.py", + "type": "file", + "name": "core.py", + "base_name": "core", + "extension": ".py", + "size": 223552, + "date": "2023-09-26", + "sha1": "527b34f47e16d8839ac11666414472d127ecca64", + "md5": "2832a8c4dcddd7c0e2cc08c8ea400eee", + "sha256": "d9633d9d9ddfd17aa7cbca39cae70e45ed1f2d122d24ee12594ebc5b95abd66c", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://redis.io/topics/acl", + "start_line": 58, + "end_line": 58 + }, + { + "url": "https://redis.io/commands/acl-cat", + "start_line": 69, + "end_line": 69 + }, + { + "url": "https://redis.io/commands/acl-dryrun", + "start_line": 78, + "end_line": 78 + }, + { + "url": "https://redis.io/commands/acl-deluser", + "start_line": 86, + "end_line": 86 + }, + { + "url": "https://redis.io/commands/acl-genpass", + "start_line": 94, + "end_line": 94 + }, + { + "url": "https://redis.io/commands/acl-getuser", + "start_line": 114, + "end_line": 114 + }, + { + "url": "https://redis.io/commands/acl-help", + "start_line": 122, + "end_line": 122 + }, + { + "url": "https://redis.io/commands/acl-list", + "start_line": 130, + "end_line": 130 + }, + { + "url": "https://redis.io/commands/acl-log", + "start_line": 140, + "end_line": 140 + }, + { + "url": "https://redis.io/commands/acl-load", + "start_line": 167, + "end_line": 167 + }, + { + "url": "https://redis.io/commands/acl-save", + "start_line": 178, + "end_line": 178 + }, + { + "url": "https://redis.io/commands/acl-setuser", + "start_line": 265, + "end_line": 265 + }, + { + "url": "https://redis.io/commands/acl-users", + "start_line": 386, + "end_line": 386 + }, + { + "url": "https://redis.io/commands/acl-whoami", + "start_line": 393, + "end_line": 393 + }, + { + "url": "https://redis.io/commands/auth", + "start_line": 411, + "end_line": 411 + }, + { + "url": "https://redis.io/commands/bgrewriteaof", + "start_line": 422, + "end_line": 422 + }, + { + "url": "https://redis.io/commands/bgsave", + "start_line": 431, + "end_line": 431 + }, + { + "url": "https://redis.io/commands/role", + "start_line": 444, + "end_line": 444 + }, + { + "url": "https://redis.io/commands/client-kill", + "start_line": 451, + "end_line": 451 + }, + { + "url": "https://redis.io/commands/client-info", + "start_line": 510, + "end_line": 510 + }, + { + "url": "https://redis.io/commands/client-list", + "start_line": 525, + "end_line": 525 + }, + { + "url": "https://redis.io/commands/client-getname", + "start_line": 545, + "end_line": 545 + }, + { + "url": "https://redis.io/commands/client-getredir", + "start_line": 554, + "end_line": 554 + }, + { + "url": "https://redis.io/commands/client-reply", + "start_line": 575, + "end_line": 575 + }, + { + "url": "https://redis.io/commands/client-id", + "start_line": 586, + "end_line": 586 + }, + { + "url": "https://redis.io/commands/client-tracking", + "start_line": 603, + "end_line": 603 + }, + { + "url": "https://redis.io/commands/client-trackinginfo", + "start_line": 693, + "end_line": 693 + }, + { + "url": "https://redis.io/commands/client-setname", + "start_line": 701, + "end_line": 701 + }, + { + "url": "https://redis.io/commands/client-setinfo", + "start_line": 714, + "end_line": 714 + }, + { + "url": "https://redis.io/commands/client-unblock", + "start_line": 727, + "end_line": 727 + }, + { + "url": "https://redis.io/commands/client-pause", + "start_line": 739, + "end_line": 739 + }, + { + "url": "https://redis.io/commands/client-unpause", + "start_line": 763, + "end_line": 763 + }, + { + "url": "https://redis.io/commands/client-no-evict", + "start_line": 771, + "end_line": 771 + }, + { + "url": "https://redis.io/commands/client-no-touch", + "start_line": 782, + "end_line": 782 + }, + { + "url": "https://redis.io/commands/command", + "start_line": 790, + "end_line": 790 + }, + { + "url": "https://redis.io/commands/command-list/", + "start_line": 815, + "end_line": 815 + }, + { + "url": "https://redis.io/commands/command-getkeysandflags", + "start_line": 834, + "end_line": 834 + }, + { + "url": "https://redis.io/commands/config-get", + "start_line": 853, + "end_line": 853 + }, + { + "url": "https://redis.io/commands/config-set", + "start_line": 866, + "end_line": 866 + }, + { + "url": "https://redis.io/commands/config-resetstat", + "start_line": 874, + "end_line": 874 + }, + { + "url": "https://redis.io/commands/config-rewrite", + "start_line": 882, + "end_line": 882 + }, + { + "url": "https://redis.io/commands/dbsize", + "start_line": 890, + "end_line": 890 + }, + { + "url": "https://redis.io/commands/debug-object", + "start_line": 898, + "end_line": 898 + }, + { + "url": "https://redis.io/commands/debug-segfault", + "start_line": 907, + "end_line": 907 + }, + { + "url": "https://redis.io/commands/echo", + "start_line": 915, + "end_line": 915 + }, + { + "url": "https://redis.io/commands/flushall", + "start_line": 926, + "end_line": 926 + }, + { + "url": "https://redis.io/commands/flushdb", + "start_line": 940, + "end_line": 940 + }, + { + "url": "https://redis.io/commands/sync", + "start_line": 951, + "end_line": 951 + }, + { + "url": "https://redis.io/commands/swapdb", + "start_line": 976, + "end_line": 976 + }, + { + "url": "https://redis.io/commands/select", + "start_line": 983, + "end_line": 983 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/helpers.py", + "type": "file", + "name": "helpers.py", + "base_name": "helpers", + "extension": ".py", + "size": 4531, + "date": "2023-09-26", + "sha1": "2380c7ee98556e94daca4f956582fd954a9065ef", + "md5": "1e6e6d30a8d461ce63f78098843ccdda", + "sha256": "5a07e1747dcd0815b656a83ef4f70fd8420ac33064cdbe427aa7dd9cf9b6b534", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/redismodules.py", + "type": "file", + "name": "redismodules.py", + "base_name": "redismodules", + "extension": ".py", + "size": 2454, + "date": "2023-09-26", + "sha1": "2fec4ee9ce3ded47e52c00c37b63a97f8cc07fe4", + "md5": "8c90b3a85ffe28254cd1fdedc4cadc02", + "sha256": "ed37d5ccb8f7d7d9a1b00e961326ec39d20f938a42fb58527098371f986fdd3e", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/sentinel.py", + "type": "file", + "name": "sentinel.py", + "base_name": "sentinel", + "extension": ".py", + "size": 4110, + "date": "2023-09-26", + "sha1": "6d511fe8fca682aaaecad23422ef9ef68b07a790", + "md5": "ea708b8d7414e06fae375f1ff049d22e", + "sha256": "85170843dc7d9c491d702b09ce8e957aceaf93ededb1f42a7c94d3fefde82d8d", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/bf", + "type": "directory", + "name": "bf", + "base_name": "bf", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 3, + "dirs_count": 0, + "size_count": 32884, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/bf/__init__.py", + "type": "file", + "name": "__init__.py", + "base_name": "__init__", + "extension": ".py", + "size": 8027, + "date": "2023-09-26", + "sha1": "b57f4eedb49be549e470be580da42abd3c5ef5d2", + "md5": "912cead578f5d800f6749389ae3c55b2", + "sha256": "1129905c7e29f43a77eed342c10183885fc11c311a2a75d217b65f01212a9056", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/bf/commands.py", + "type": "file", + "name": "commands.py", + "base_name": "commands", + "extension": ".py", + "size": 21462, + "date": "2023-09-26", + "sha1": "320aa6fd06c380b56a2a9613c01a9b41eb49b176", + "md5": "82082eccf27f3a838235d4e5f23dcc9a", + "sha256": "9155946ad752d332dcbbcf9f548a8b2d0054e6ef1f25620e095503ddfa98569d", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://redis.io/commands/bf.reserve", + "start_line": 68, + "end_line": 68 + }, + { + "url": "https://redis.io/commands/bf.add", + "start_line": 80, + "end_line": 80 + }, + { + "url": "https://redis.io/commands/bf.madd", + "start_line": 87, + "end_line": 87 + }, + { + "url": "https://redis.io/commands/bf.insert", + "start_line": 107, + "end_line": 107 + }, + { + "url": "https://redis.io/commands/bf.exists", + "start_line": 122, + "end_line": 122 + }, + { + "url": "https://redis.io/commands/bf.mexists", + "start_line": 129, + "end_line": 129 + }, + { + "url": "https://redis.io/commands/bf.scandump", + "start_line": 140, + "end_line": 140 + }, + { + "url": "https://redis.io/commands/bf.loadchunk", + "start_line": 157, + "end_line": 157 + }, + { + "url": "https://redis.io/commands/bf.info", + "start_line": 164, + "end_line": 164 + }, + { + "url": "https://redis.io/commands/bf.card", + "start_line": 172, + "end_line": 172 + }, + { + "url": "https://redis.io/commands/cf.reserve", + "start_line": 185, + "end_line": 185 + }, + { + "url": "https://redis.io/commands/cf.add", + "start_line": 198, + "end_line": 198 + }, + { + "url": "https://redis.io/commands/cf.addnx", + "start_line": 206, + "end_line": 206 + }, + { + "url": "https://redis.io/commands/cf.insert", + "start_line": 215, + "end_line": 215 + }, + { + "url": "https://redis.io/commands/cf.insertnx", + "start_line": 228, + "end_line": 228 + }, + { + "url": "https://redis.io/commands/cf.exists", + "start_line": 239, + "end_line": 239 + }, + { + "url": "https://redis.io/commands/cf.mexists", + "start_line": 246, + "end_line": 246 + }, + { + "url": "https://redis.io/commands/cf.del", + "start_line": 253, + "end_line": 253 + }, + { + "url": "https://redis.io/commands/cf.count", + "start_line": 260, + "end_line": 260 + }, + { + "url": "https://redis.io/commands/cf.scandump", + "start_line": 273, + "end_line": 273 + }, + { + "url": "https://redis.io/commands/cf.loadchunk", + "start_line": 283, + "end_line": 283 + }, + { + "url": "https://redis.io/commands/cf.info", + "start_line": 291, + "end_line": 291 + }, + { + "url": "https://redis.io/commands/topk.reserve", + "start_line": 303, + "end_line": 303 + }, + { + "url": "https://redis.io/commands/topk.add", + "start_line": 310, + "end_line": 310 + }, + { + "url": "https://redis.io/commands/topk.incrby", + "start_line": 318, + "end_line": 318 + }, + { + "url": "https://redis.io/commands/topk.query", + "start_line": 331, + "end_line": 331 + }, + { + "url": "https://redis.io/commands/topk.count", + "start_line": 339, + "end_line": 339 + }, + { + "url": "https://redis.io/commands/topk.list", + "start_line": 348, + "end_line": 348 + }, + { + "url": "https://redis.io/commands/topk.info", + "start_line": 358, + "end_line": 358 + }, + { + "url": "https://redis.io/commands/tdigest.create", + "start_line": 367, + "end_line": 367 + }, + { + "url": "https://redis.io/commands/tdigest.reset", + "start_line": 374, + "end_line": 374 + }, + { + "url": "https://redis.io/commands/tdigest.add", + "start_line": 382, + "end_line": 382 + }, + { + "url": "https://redis.io/commands/tdigest.merge", + "start_line": 394, + "end_line": 394 + }, + { + "url": "https://redis.io/commands/tdigest.min", + "start_line": 406, + "end_line": 406 + }, + { + "url": "https://redis.io/commands/tdigest.max", + "start_line": 413, + "end_line": 413 + }, + { + "url": "https://redis.io/commands/tdigest.quantile", + "start_line": 422, + "end_line": 422 + }, + { + "url": "https://redis.io/commands/tdigest.cdf", + "start_line": 429, + "end_line": 429 + }, + { + "url": "https://redis.io/commands/tdigest.info", + "start_line": 437, + "end_line": 437 + }, + { + "url": "https://redis.io/commands/tdigest.trimmed_mean", + "start_line": 445, + "end_line": 445 + }, + { + "url": "https://redis.io/commands/tdigest.rank", + "start_line": 456, + "end_line": 456 + }, + { + "url": "https://redis.io/commands/tdigest.revrank", + "start_line": 465, + "end_line": 465 + }, + { + "url": "https://redis.io/commands/tdigest.by_rank", + "start_line": 473, + "end_line": 473 + }, + { + "url": "https://redis.io/commands/tdigest.by_revrank", + "start_line": 481, + "end_line": 481 + }, + { + "url": "https://redis.io/commands/cms.initbydim", + "start_line": 492, + "end_line": 492 + }, + { + "url": "https://redis.io/commands/cms.initbyprob", + "start_line": 499, + "end_line": 499 + }, + { + "url": "https://redis.io/commands/cms.incrby", + "start_line": 507, + "end_line": 507 + }, + { + "url": "https://redis.io/commands/cms.query", + "start_line": 520, + "end_line": 520 + }, + { + "url": "https://redis.io/commands/cms.merge", + "start_line": 530, + "end_line": 530 + }, + { + "url": "https://redis.io/commands/cms.info", + "start_line": 540, + "end_line": 540 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/bf/info.py", + "type": "file", + "name": "info.py", + "base_name": "info", + "extension": ".py", + "size": 3395, + "date": "2023-09-26", + "sha1": "e8c4791971945258e09d47940654df11a645dfa6", + "md5": "3a9b8ea19c570c1d5468d5ca4cfc169a", + "sha256": "b6913886fd73029c683a0c95f7ff0110365c97859fead4b5752bed97157bb931", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/graph", + "type": "directory", + "name": "graph", + "base_name": "graph", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 8, + "dirs_count": 0, + "size_count": 48445, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/graph/__init__.py", + "type": "file", + "name": "__init__.py", + "base_name": "__init__", + "extension": ".py", + "size": 7237, + "date": "2023-09-26", + "sha1": "9270ca2a5cc708ef02dc86ab9a2505f12bc25f32", + "md5": "006596cbf7c2093aa9f31ae55da23b1f", + "sha256": "366925c8ebb321adb4c845ab867290c6042569729891cc019061e9bd0ca8e49f", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://redis.com/blog/redisgraph-eol", + "start_line": 26, + "end_line": 26 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/graph/commands.py", + "type": "file", + "name": "commands.py", + "base_name": "commands", + "extension": ".py", + "size": 10379, + "date": "2023-09-26", + "sha1": "96c25624734842849d8692e57ae6664ebcf59b17", + "md5": "fe1a21ef6b1f88070b9fec1ccbc669d2", + "sha256": "acb195e7c6492847facb1ce4d680f7230892d3794fe9ba5ba34db8f69148d0e6", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://redis.io/commands/graph.query", + "start_line": 43, + "end_line": 43 + }, + { + "url": "https://redis.io/commands/graph.delete", + "start_line": 110, + "end_line": 110 + }, + { + "url": "https://github.com/redisgraph/redisgraph-bulk-loader", + "start_line": 128, + "end_line": 128 + }, + { + "url": "https://redis.io/commands/graph.profile", + "start_line": 137, + "end_line": 137 + }, + { + "url": "https://redis.io/commands/graph.slowlog", + "start_line": 145, + "end_line": 145 + }, + { + "url": "https://redis.io/commands/graph.config-get/", + "start_line": 158, + "end_line": 158 + }, + { + "url": "https://redis.io/commands/graph.list", + "start_line": 182, + "end_line": 182 + }, + { + "url": "https://redis.io/commands/graph.explain", + "start_line": 206, + "end_line": 206 + }, + { + "url": "https://oss.redis.com/redisgraph/master/commands/#graphquery", + "start_line": 222, + "end_line": 222 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/graph/edge.py", + "type": "file", + "name": "edge.py", + "base_name": "edge", + "extension": ".py", + "size": 2460, + "date": "2023-09-26", + "sha1": "9f6ca6876d0f1965c66c97faae3e7f6ac8ba1bf3", + "md5": "714d6d057f3f034ca20a908303480f94", + "sha256": "fd3963541e1ad693d2f696fcfc2bf0f2b7256c138e23fffe7d8f5fc9b5387634", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/graph/exceptions.py", + "type": "file", + "name": "exceptions.py", + "base_name": "exceptions", + "extension": ".py", + "size": 107, + "date": "2023-09-26", + "sha1": "8896daba11ac8d7d3778c006f42c2b02abb58a47", + "md5": "54d7f4376cde8509e4912b696a9d3e2e", + "sha256": "9110c1b182e0c0868ce2faa2a0efc1a7fba05af8dfa821fb0c8bf81a973d1c23", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/graph/execution_plan.py", + "type": "file", + "name": "execution_plan.py", + "base_name": "execution_plan", + "extension": ".py", + "size": 6742, + "date": "2023-09-26", + "sha1": "9885012256f548a1a872c2671dee9801fead46ac", + "md5": "45f0df07d77012a0fbec3b94d650895a", + "sha256": "3f1afcff384f593fc47594a01ab6e25b0f3014beaae4917b3be67a5f39b9e62c", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/graph/node.py", + "type": "file", + "name": "node.py", + "base_name": "node", + "extension": ".py", + "size": 2400, + "date": "2023-09-26", + "sha1": "fe45f4339fefaf70860d9e5ff5a01693b5e89dac", + "md5": "678fbf445987572298a9ec1c8a8ec187", + "sha256": "3dab1fb25e5d17a5aa4fd28234500a2b01ae6f22bfd8e442a00404e15b675e44", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/graph/path.py", + "type": "file", + "name": "path.py", + "base_name": "path", + "extension": ".py", + "size": 2080, + "date": "2023-09-26", + "sha1": "1a55b468768182f6bbb6f55296919f4dd4f5a8a0", + "md5": "1893829c8a73dae1056b775a577abd13", + "sha256": "9ba1b3e0361f30843c5517832c7967430fca236ad575ea56624fc0534ff1fc63", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/graph/query_result.py", + "type": "file", + "name": "query_result.py", + "base_name": "query_result", + "extension": ".py", + "size": 17040, + "date": "2023-09-26", + "sha1": "f582004b1fe0d81295a15d30c7155e62e6a4e218", + "md5": "06bd40931ac7f31359ebd577ab804a62", + "sha256": "193127044d2b022524e09aae6b171529d2f593348c0d65b9932fa2153bd137ce", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/json", + "type": "directory", + "name": "json", + "base_name": "json", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 5, + "dirs_count": 0, + "size_count": 22377, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/json/__init__.py", + "type": "file", + "name": "__init__.py", + "base_name": "__init__", + "extension": ".py", + "size": 4854, + "date": "2023-09-26", + "sha1": "8596676d600b2c86dd465da18c0d96491dd5f863", + "md5": "704c9a0db904957638b5e467cb6ad3dd", + "sha256": "965a43433da404d9c9c9f41fba1d3eda863e92731bea0012d000ed3e66932ac3", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/json/_util.py", + "type": "file", + "name": "_util.py", + "base_name": "_util", + "extension": ".py", + "size": 116, + "date": "2023-09-26", + "sha1": "2d9f73f398d7c6b5006bf60f100bc413c09136cb", + "md5": "9d7edde42d6acf1975db72937176fc97", + "sha256": "6ff5504e1d741722e5f01b5111f25f0da80e242c9deb04d042cf20eb7a62e462", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/json/commands.py", + "type": "file", + "name": "commands.py", + "base_name": "commands", + "extension": ".py", + "size": 15603, + "date": "2023-09-26", + "sha1": "f851eaa07021105aef8569251a033b1fadc7cc62", + "md5": "354866cd962b7ff1fffdd57258e65f61", + "sha256": "f4fdcd045c96b91c567abe62fff36d271ee82593674ce8ac7eb1c68706917e80", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://redis.io/commands/json.arrappend", + "start_line": 22, + "end_line": 22 + }, + { + "url": "https://redis.io/commands/json.arrindex", + "start_line": 44, + "end_line": 44 + }, + { + "url": "https://redis.io/commands/json.arrinsert", + "start_line": 60, + "end_line": 60 + }, + { + "url": "https://redis.io/commands/json.arrlen", + "start_line": 73, + "end_line": 73 + }, + { + "url": "https://redis.io/commands/json.arrpop", + "start_line": 86, + "end_line": 86 + }, + { + "url": "https://redis.io/commands/json.arrtrim", + "start_line": 96, + "end_line": 96 + }, + { + "url": "https://redis.io/commands/json.type", + "start_line": 103, + "end_line": 103 + }, + { + "url": "https://redis.io/commands/json.resp", + "start_line": 110, + "end_line": 110 + }, + { + "url": "https://redis.io/commands/json.objkeys", + "start_line": 120, + "end_line": 120 + }, + { + "url": "https://redis.io/commands/json.objlen", + "start_line": 128, + "end_line": 128 + }, + { + "url": "https://redis.io/commands/json.numincrby", + "start_line": 136, + "end_line": 136 + }, + { + "url": "https://redis.io/commands/json.nummultby", + "start_line": 147, + "end_line": 147 + }, + { + "url": "https://redis.io/commands/json.clear", + "start_line": 160, + "end_line": 160 + }, + { + "url": "https://redis.io/commands/json.del", + "start_line": 167, + "end_line": 167 + }, + { + "url": "https://redis.io/commands/json.get", + "start_line": 184, + "end_line": 184 + }, + { + "url": "https://redis.io/commands/json.mget", + "start_line": 209, + "end_line": 209 + }, + { + "url": "https://redis.io/commands/json.set", + "start_line": 236, + "end_line": 236 + }, + { + "url": "https://redis.io/commands/json.mset", + "start_line": 265, + "end_line": 265 + }, + { + "url": "https://redis.io/commands/json.merge", + "start_line": 286, + "end_line": 286 + }, + { + "url": "https://redis.io/commands/json.strlen", + "start_line": 362, + "end_line": 362 + }, + { + "url": "https://redis.io/commands/json.toggle", + "start_line": 375, + "end_line": 375 + }, + { + "url": "https://redis.io/commands/json.strappend", + "start_line": 386, + "end_line": 386 + }, + { + "url": "https://redis.io/commands/json.debug", + "start_line": 400, + "end_line": 400 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/json/decoders.py", + "type": "file", + "name": "decoders.py", + "base_name": "decoders", + "extension": ".py", + "size": 1411, + "date": "2023-09-26", + "sha1": "2d06b3e34ca04923f75c7ac9d0d6d465c9e66335", + "md5": "c62a48bbc3039021f66954272d12ca4a", + "sha256": "6bf228315ff081e2725227c3e0fe874dc33db3a161ae27309b341c65199cf86c", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/json/path.py", + "type": "file", + "name": "path.py", + "base_name": "path", + "extension": ".py", + "size": 393, + "date": "2023-09-26", + "sha1": "4e4bfe2de2d3ecccef49668cf95f0a8734bdb611", + "md5": "896a25cfea3a24715b67bee16a227ff7", + "sha256": "d3368eebfabf155324d4192191bed672bf001764dfafaf558642b2d480558690", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/search", + "type": "directory", + "name": "search", + "base_name": "search", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 12, + "dirs_count": 0, + "size_count": 88022, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/search/__init__.py", + "type": "file", + "name": "__init__.py", + "base_name": "__init__", + "extension": ".py", + "size": 5744, + "date": "2023-09-26", + "sha1": "cacafb4db5bdbd84a30aa6d6d48a8eb426185ddc", + "md5": "d606a6ad501f7673056ad048fdc05dd1", + "sha256": "85aa69405545d23ecff3ba7b2d0b142b900ad24b9e9bd700fb1bd545d416a68b", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/search/_util.py", + "type": "file", + "name": "_util.py", + "base_name": "_util", + "extension": ".py", + "size": 193, + "date": "2023-09-26", + "sha1": "ab5c0244d60a0bba507b406680ef2e55e6affad9", + "md5": "ac64284e47130868b522bc83b9b20f3d", + "sha256": "54082e4b087fddd36d270354e9595ed8235d3c4d74fcd5243df7c3ec65855f8f", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/search/aggregation.py", + "type": "file", + "name": "aggregation.py", + "base_name": "aggregation", + "extension": ".py", + "size": 10772, + "date": "2023-09-26", + "sha1": "b9c87c8ebc95ee54a58015a578ca9db02f50d9db", + "md5": "afce3e531d1f6dae1ffdcd0ea78d8cb7", + "sha256": "f324353f7d508b2dbdc5e86598dd93a0287bddef8c1e63a0ff2d3f5177d00d2f", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/search/commands.py", + "type": "file", + "name": "commands.py", + "base_name": "commands", + "extension": ".py", + "size": 36751, + "date": "2023-09-26", + "sha1": "e8ca845d895bbb1b83adaf6a0dbe0c95b4b63b5f", + "md5": "eec3ac10c0acabb33badad29de7a80f5", + "sha256": "76948c67b8578db025ad42f8879197e81b4fe1689b41908ee9895fa3caa4005d", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://redis.io/commands/ft.create", + "start_line": 189, + "end_line": 189 + }, + { + "url": "https://redis.io/commands/ft.alter", + "start_line": 232, + "end_line": 232 + }, + { + "url": "https://redis.io/commands/ft.dropindex", + "start_line": 253, + "end_line": 253 + }, + { + "url": "https://redis.io/commands/ft.info", + "start_line": 447, + "end_line": 447 + }, + { + "url": "https://redis.io/commands/ft.search", + "start_line": 497, + "end_line": 497 + }, + { + "url": "https://redis.io/commands/ft.explain", + "start_line": 517, + "end_line": 517 + }, + { + "url": "https://redis.io/commands/ft.aggregate", + "start_line": 540, + "end_line": 540 + }, + { + "url": "https://redis.io/commands/ft.spellcheck", + "start_line": 631, + "end_line": 631 + }, + { + "url": "https://redis.io/commands/ft.dictadd", + "start_line": 655, + "end_line": 655 + }, + { + "url": "https://redis.io/commands/ft.dictdel", + "start_line": 669, + "end_line": 669 + }, + { + "url": "https://redis.io/commands/ft.dictdump", + "start_line": 682, + "end_line": 682 + }, + { + "url": "https://redis.io/commands/ft.config-set", + "start_line": 695, + "end_line": 695 + }, + { + "url": "https://redis.io/commands/ft.config-get", + "start_line": 708, + "end_line": 708 + }, + { + "url": "https://redis.io/commands/ft.tagvals", + "start_line": 722, + "end_line": 722 + }, + { + "url": "https://redis.io/commands/ft.aliasadd", + "start_line": 735, + "end_line": 735 + }, + { + "url": "https://redis.io/commands/ft.aliasupdate", + "start_line": 748, + "end_line": 748 + }, + { + "url": "https://redis.io/commands/ft.aliasdel", + "start_line": 761, + "end_line": 761 + }, + { + "url": "https://redis.io/commands/ft.sugadd/", + "start_line": 772, + "end_line": 772 + }, + { + "url": "https://redis.io/commands/ft.suglen", + "start_line": 792, + "end_line": 792 + }, + { + "url": "https://redis.io/commands/ft.sugdel", + "start_line": 801, + "end_line": 801 + }, + { + "url": "https://redis.io/commands/ft.sugget", + "start_line": 843, + "end_line": 843 + }, + { + "url": "https://redis.io/commands/ft.synupdate", + "start_line": 877, + "end_line": 877 + }, + { + "url": "https://redis.io/commands/ft.syndump", + "start_line": 892, + "end_line": 892 + }, + { + "url": "https://redis.io/commands/ft.sugadd", + "start_line": 1047, + "end_line": 1047 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/search/document.py", + "type": "file", + "name": "document.py", + "base_name": "document", + "extension": ".py", + "size": 413, + "date": "2023-09-26", + "sha1": "cd8e9e94ff62a7e18b25bfda2c259083443627e6", + "md5": "f9488d45ae17bfde6edee62906d909ba", + "sha256": "83647e3d182afa3377dff18b5f36afbec7b872920704c7e33df3caeed9c4f467", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/search/field.py", + "type": "file", + "name": "field.py", + "base_name": "field", + "extension": ".py", + "size": 4518, + "date": "2023-09-26", + "sha1": "02169eee4f333d68b6d180868e1b4f9c22f54d9e", + "md5": "52186013c758d7626d2bdb6f4850e344", + "sha256": "5b1b4e1e0b66f52f36fc2d27cde4fb7c746b58f9067e52674974112226952665", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "http://redisearch.io/Tags/", + "start_line": 106, + "end_line": 106 + }, + { + "url": "https://oss.redis.com/redisearch/Vectors/#vector_fields", + "start_line": 132, + "end_line": 132 + }, + { + "url": "https://oss.redis.com/redisearch/master/Vectors/#specific_creation_attributes_per_algorithm", + "start_line": 146, + "end_line": 146 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/search/indexDefinition.py", + "type": "file", + "name": "indexDefinition.py", + "base_name": "indexDefinition", + "extension": ".py", + "size": 2489, + "date": "2023-09-26", + "sha1": "9da27c7d2264fc057e64c0a234e37adb065b8ed3", + "md5": "ae96ecb12eadafc5dd15cf6309cad59b", + "sha256": "54bd823338f13741c421a4e7f3c7af9c75f57c2126cad6e2938bc09a2898482f", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/search/query.py", + "type": "file", + "name": "query.py", + "base_name": "query", + "extension": ".py", + "size": 11564, + "date": "2023-09-26", + "sha1": "0329f4fba30503374766fededa5d0c9f006b833a", + "md5": "dfe25e5bc31914946fca25fd452448a9", + "sha256": "6e505c8059eead3f6b920e2023a8f5e047a4594fc9f5efda0e5af25420960e33", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/search/querystring.py", + "type": "file", + "name": "querystring.py", + "base_name": "querystring", + "extension": ".py", + "size": 7597, + "date": "2023-09-26", + "sha1": "1e105bc3cb164093b3c0793f0a6ef7d85d543eec", + "md5": "2fc46e3748d2fe38edc1c950ef904073", + "sha256": "744e7bee43aa90212b3603be217238c4554723c91013e2621f965123f08a8c71", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/search/reducers.py", + "type": "file", + "name": "reducers.py", + "base_name": "reducers", + "extension": ".py", + "size": 4220, + "date": "2023-09-26", + "sha1": "8df89681009d536433288f29c1ff6feb6b1ac30b", + "md5": "28c9286fc598568b25fda9ab79ffb9e2", + "sha256": "49c71eca5c7c063caa4be4c939d84d5bade7ead79c2fda23b785394aa868e546", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://redis.io/docs/interact/search-and-query/search/aggregations/", + "start_line": 7, + "end_line": 7 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/search/result.py", + "type": "file", + "name": "result.py", + "base_name": "result", + "extension": ".py", + "size": 2149, + "date": "2023-09-26", + "sha1": "99e70ea2bac05e63cc8b8d385a25836c586991dd", + "md5": "605ac296eecba3ae0bde4fde4ab5e773", + "sha256": "e07ecb9ce55649cb62ed63b65d8c638624eedd0348b76a591ced5ea6d5d90c19", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/search/suggestion.py", + "type": "file", + "name": "suggestion.py", + "base_name": "suggestion", + "extension": ".py", + "size": 1612, + "date": "2023-09-26", + "sha1": "7c9e49e7121c9fe3135542aac5d329cb1f1c70c1", + "md5": "426d716a7a0a3812bc5c82c74fd8801c", + "sha256": "57fadeeacb830a835cd044e7fcfd6de7515e2b8a426a63f0c59471098f23b1c1", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/timeseries", + "type": "directory", + "name": "timeseries", + "base_name": "timeseries", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 4, + "dirs_count": 0, + "size_count": 41413, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/timeseries/__init__.py", + "type": "file", + "name": "__init__.py", + "base_name": "__init__", + "extension": ".py", + "size": 3459, + "date": "2023-09-26", + "sha1": "1f59c6ce28d6aa1cc2dc76705e508d49c20612e4", + "md5": "7e4fdc626e513fd032a301cb779d917f", + "sha256": "824cfac2c844cf3410af204e9eb02aa90cedb52f801df5e6b8dfc7d49dfc11b3", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/timeseries/commands.py", + "type": "file", + "name": "commands.py", + "base_name": "commands", + "extension": ".py", + "size": 33438, + "date": "2023-09-26", + "sha1": "1e08f2eda40beb2cd856350f4903cfd9ad428748", + "md5": "dca00ce15a3ee9f08c644eeb2e04e4d3", + "sha256": "6c5764fbad3d0a72fe753a8c539c9012263e5028d5a4b9271c60c4350dadfb55", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://redis.io/commands/ts.create/", + "start_line": 63, + "end_line": 63 + }, + { + "url": "https://redis.io/commands/ts.alter/", + "start_line": 107, + "end_line": 107 + }, + { + "url": "https://redis.io/commands/ts.add/", + "start_line": 158, + "end_line": 158 + }, + { + "url": "https://redis.io/commands/ts.madd/", + "start_line": 176, + "end_line": 176 + }, + { + "url": "https://redis.io/commands/ts.incrby/", + "start_line": 216, + "end_line": 216 + }, + { + "url": "https://redis.io/commands/ts.decrby/", + "start_line": 259, + "end_line": 259 + }, + { + "url": "https://redis.io/commands/ts.del/", + "start_line": 283, + "end_line": 283 + }, + { + "url": "https://redis.io/commands/ts.createrule/", + "start_line": 314, + "end_line": 314 + }, + { + "url": "https://redis.io/commands/ts.deleterule/", + "start_line": 327, + "end_line": 327 + }, + { + "url": "https://redis.io/commands/ts.range/", + "start_line": 411, + "end_line": 411 + }, + { + "url": "https://redis.io/commands/ts.revrange/", + "start_line": 483, + "end_line": 483 + }, + { + "url": "https://redis.io/commands/ts.mrange/", + "start_line": 602, + "end_line": 602 + }, + { + "url": "https://redis.io/commands/ts.mrevrange/", + "start_line": 690, + "end_line": 690 + }, + { + "url": "https://redis.io/commands/ts.get/", + "start_line": 720, + "end_line": 720 + }, + { + "url": "https://redis.io/commands/ts.mget/", + "start_line": 749, + "end_line": 749 + }, + { + "url": "https://redis.io/commands/ts.info/", + "start_line": 762, + "end_line": 762 + }, + { + "url": "https://redis.io/commands/ts.queryindex/", + "start_line": 770, + "end_line": 770 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/timeseries/info.py", + "type": "file", + "name": "info.py", + "base_name": "info", + "extension": ".py", + "size": 3207, + "date": "2023-09-26", + "sha1": "786b32d4b98b55d0bf51e846c04292ba88afc909", + "md5": "605e965f24062492553b323205398efd", + "sha256": "e5d78122706d2cf6f766b568481e048569113e44885b941dffdf2b3039eeb679", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://oss.redis.com/redistimeseries/commands/#tsinfo", + "start_line": 9, + "end_line": 9 + }, + { + "url": "https://oss.redis.com/redistimeseries/configuration/#duplicate_policy", + "start_line": 60, + "end_line": 60 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis/commands/timeseries/utils.py", + "type": "file", + "name": "utils.py", + "base_name": "utils", + "extension": ".py", + "size": 1309, + "date": "2023-09-26", + "sha1": "a2f70f2745595643178bde57689de8684b223abf", + "md5": "dee3bf5ef4a397f8d31c9dc30851d717", + "sha256": "a3babb15ed708297532cac8663c422d9557a5ca101a6b87398f76b173dce22fa", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis.egg-info", + "type": "directory", + "name": "redis.egg-info", + "base_name": "redis.egg-info", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 5, + "dirs_count": 0, + "size_count": 12691, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis.egg-info/dependency_links.txt", + "type": "file", + "name": "dependency_links.txt", + "base_name": "dependency_links", + "extension": ".txt", + "size": 1, + "date": "2023-09-26", + "sha1": "adc83b19e793491b1c6ea0fd8b46cd9f32e592fc", + "md5": "68b329da9893e34099c7d8ad5cb9c940", + "sha256": "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b", + "mime_type": "application/octet-stream", + "file_type": "very short file (no magic)", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis.egg-info/PKG-INFO", + "type": "file", + "name": "PKG-INFO", + "base_name": "PKG-INFO", + "extension": "", + "size": 8506, + "date": "2023-09-26", + "sha1": "20532cd7e310457e63be960c8fd930c412c9db81", + "md5": "c702445af555d592940a9ce56eb083e6", + "sha256": "c024ed91501c8156a39ac513c8167a124d9bb264913d6fec11187492c418dd38", + "mime_type": "text/plain", + "file_type": "ASCII text, with very long lines", + "programming_language": "Objective-C", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [ + { + "type": "pypi", + "namespace": null, + "name": "redis", + "version": "5.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Python", + "description": "Python client for Redis database and key-value store\n# redis-py\n\nThe Python interface to the Redis key-value store.\n\n[![CI](https://github.com/redis/redis-py/workflows/CI/badge.svg?branch=master)](https://github.com/redis/redis-py/actions?query=workflow%3ACI+branch%3Amaster)\n[![docs](https://readthedocs.org/projects/redis/badge/?version=stable&style=flat)](https://redis-py.readthedocs.io/en/stable/)\n[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)\n[![pypi](https://badge.fury.io/py/redis.svg)](https://pypi.org/project/redis/)\n[![pre-release](https://img.shields.io/github/v/release/redis/redis-py?include_prereleases&label=latest-prerelease)](https://github.com/redis/redis-py/releases)\n[![codecov](https://codecov.io/gh/redis/redis-py/branch/master/graph/badge.svg?token=yenl5fzxxr)](https://codecov.io/gh/redis/redis-py)\n\n[Installation](#installation) | [Usage](#usage) | [Advanced Topics](#advanced-topics) | [Contributing](https://github.com/redis/redis-py/blob/master/CONTRIBUTING.md)\n\n---------------------------------------------\n\n**Note: ** redis-py 5.0 will be the last version of redis-py to support Python 3.7, as it has reached [end of life](https://devguide.python.org/versions/). redis-py 5.1 will support Python 3.8+.\n\n---------------------------------------------\n\n## Installation\n\nStart a redis via docker:\n\n``` bash\ndocker run -p 6379:6379 -it redis/redis-stack:latest\n```\n\nTo install redis-py, simply:\n\n``` bash\n$ pip install redis\n```\n\nFor faster performance, install redis with hiredis support, this provides a compiled response parser, and *for most cases* requires zero code changes.\nBy default, if hiredis >= 1.0 is available, redis-py will attempt to use it for response parsing.\n\n``` bash\n$ pip install \"redis[hiredis]\"\n```\n\nLooking for a high-level library to handle object mapping? See [redis-om-python](https://github.com/redis/redis-om-python)!\n\n## Supported Redis Versions\n\nThe most recent version of this library supports redis version [5.0](https://github.com/redis/redis/blob/5.0/00-RELEASENOTES), [6.0](https://github.com/redis/redis/blob/6.0/00-RELEASENOTES), [6.2](https://github.com/redis/redis/blob/6.2/00-RELEASENOTES), [7.0](https://github.com/redis/redis/blob/7.0/00-RELEASENOTES) and [7.2](https://github.com/redis/redis/blob/7.2/00-RELEASENOTES).\n\nThe table below highlights version compatibility of the most-recent library versions and redis versions.\n\n| Library version | Supported redis versions |\n|-----------------|-------------------|\n| 3.5.3 | <= 6.2 Family of releases |\n| >= 4.5.0 | Version 5.0 to 7.0 |\n| >= 5.0.0 | Version 5.0 to current |\n\n\n## Usage\n\n### Basic Example\n\n``` python\n>>> import redis\n>>> r = redis.Redis(host='localhost', port=6379, db=0)\n>>> r.set('foo', 'bar')\nTrue\n>>> r.get('foo')\nb'bar'\n```\n\nThe above code connects to localhost on port 6379, sets a value in Redis, and retrieves it. All responses are returned as bytes in Python, to receive decoded strings, set *decode_responses=True*. For this, and more connection options, see [these examples](https://redis.readthedocs.io/en/stable/examples.html).\n\n\n#### RESP3 Support\nTo enable support for RESP3, ensure you have at least version 5.0 of the client, and change your connection object to include *protocol=3*\n\n``` python\n>>> import redis\n>>> r = redis.Redis(host='localhost', port=6379, db=0, protocol=3)\n```\n\n### Connection Pools\n\nBy default, redis-py uses a connection pool to manage connections. Each instance of a Redis class receives its own connection pool. You can however define your own [redis.ConnectionPool](https://redis.readthedocs.io/en/stable/connections.html#connection-pools).\n\n``` python\n>>> pool = redis.ConnectionPool(host='localhost', port=6379, db=0)\n>>> r = redis.Redis(connection_pool=pool)\n```\n\nAlternatively, you might want to look at [Async connections](https://redis.readthedocs.io/en/stable/examples/asyncio_examples.html), or [Cluster connections](https://redis.readthedocs.io/en/stable/connections.html#cluster-client), or even [Async Cluster connections](https://redis.readthedocs.io/en/stable/connections.html#async-cluster-client).\n\n### Redis Commands\n\nThere is built-in support for all of the [out-of-the-box Redis commands](https://redis.io/commands). They are exposed using the raw Redis command names (`HSET`, `HGETALL`, etc.) except where a word (i.e. del) is reserved by the language. The complete set of commands can be found [here](https://github.com/redis/redis-py/tree/master/redis/commands), or [the documentation](https://redis.readthedocs.io/en/stable/commands.html).\n\n## Advanced Topics\n\nThe [official Redis command documentation](https://redis.io/commands)\ndoes a great job of explaining each command in detail. redis-py attempts\nto adhere to the official command syntax. There are a few exceptions:\n\n- **MULTI/EXEC**: These are implemented as part of the Pipeline class.\n The pipeline is wrapped with the MULTI and EXEC statements by\n default when it is executed, which can be disabled by specifying\n transaction=False. See more about Pipelines below.\n\n- **SUBSCRIBE/LISTEN**: Similar to pipelines, PubSub is implemented as\n a separate class as it places the underlying connection in a state\n where it can\\'t execute non-pubsub commands. Calling the pubsub\n method from the Redis client will return a PubSub instance where you\n can subscribe to channels and listen for messages. You can only call\n PUBLISH from the Redis client (see [this comment on issue\n #151](https://github.com/redis/redis-py/issues/151#issuecomment-1545015)\n for details).\n\nFor more details, please see the documentation on [advanced topics page](https://redis.readthedocs.io/en/stable/advanced_features.html).\n\n### Pipelines\n\nThe following is a basic example of a [Redis pipeline](https://redis.io/docs/manual/pipelining/), a method to optimize round-trip calls, by batching Redis commands, and receiving their results as a list.\n\n\n``` python\n>>> pipe = r.pipeline()\n>>> pipe.set('foo', 5)\n>>> pipe.set('bar', 18.5)\n>>> pipe.set('blee', \"hello world!\")\n>>> pipe.execute()\n[True, True, True]\n```\n\n### PubSub\n\nThe following example shows how to utilize [Redis Pub/Sub](https://redis.io/docs/manual/pubsub/) to subscribe to specific channels.\n\n``` python\n>>> r = redis.Redis(...)\n>>> p = r.pubsub()\n>>> p.subscribe('my-first-channel', 'my-second-channel', ...)\n>>> p.get_message()\n{'pattern': None, 'type': 'subscribe', 'channel': b'my-second-channel', 'data': 1}\n```\n\n\n--------------------------\n\n### Author\n\nredis-py is developed and maintained by [Redis Inc](https://redis.com). It can be found [here](\nhttps://github.com/redis/redis-py), or downloaded from [pypi](https://pypi.org/project/redis/).\n\nSpecial thanks to:\n\n- Andy McCurdy () the original author of redis-py.\n- Ludovico Magnocavallo, author of the original Python Redis client,\n from which some of the socket code is still used.\n- Alexander Solovyov for ideas on the generic response callback\n system.\n- Paul Hubbard for initial packaging support.\n\n[![Redis](./docs/logo-redis.png)](https://www.redis.com)", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Redis Inc.", + "email": "oss@redis.com", + "url": null + } + ], + "keywords": [ + "Redis", + "key-value store", + "database", + "Development Status :: 5 - Production/Stable", + "Environment :: Console", + "Intended Audience :: Developers", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy" + ], + "homepage_url": "https://github.com/redis/redis-py", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/redis/redis-py/issues", + "code_view_url": "https://github.com/redis/redis-py", + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 1, + "end_line": 1, + "matched_length": 1, + "match_coverage": 100, + "matcher": "1-spdx-id", + "license_expression": "mit", + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_relevance": 100, + "rule_url": null, + "matched_text": "MIT" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + }, + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 1, + "end_line": 1, + "matched_length": 5, + "match_coverage": 100, + "matcher": "1-hash", + "license_expression": "mit", + "rule_identifier": "pypi_mit_license.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", + "matched_text": "- 'License :: OSI Approved :: MIT License'" + } + ], + "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "license: MIT\nclassifiers:\n - 'License :: OSI Approved :: MIT License'\n", + "notice_text": null, + "source_packages": [], + "file_references": [ + { + "path": "INSTALL", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "LICENSE", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "MANIFEST.in", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "README.md", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "setup.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/__init__.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/backoff.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/client.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/cluster.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/compat.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/connection.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/crc.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/credentials.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/exceptions.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/lock.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/ocsp.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/retry.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/sentinel.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/typing.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/utils.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis.egg-info/PKG-INFO", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis.egg-info/SOURCES.txt", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis.egg-info/dependency_links.txt", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis.egg-info/requires.txt", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis.egg-info/top_level.txt", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/_parsers/__init__.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/_parsers/base.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/_parsers/commands.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/_parsers/encoders.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/_parsers/helpers.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/_parsers/hiredis.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/_parsers/resp2.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/_parsers/resp3.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/_parsers/socket.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/asyncio/__init__.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/asyncio/client.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/asyncio/cluster.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/asyncio/connection.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/asyncio/lock.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/asyncio/retry.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/asyncio/sentinel.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/asyncio/utils.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/__init__.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/cluster.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/core.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/helpers.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/redismodules.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/sentinel.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/bf/__init__.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/bf/commands.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/bf/info.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/graph/__init__.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/graph/commands.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/graph/edge.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/graph/exceptions.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/graph/execution_plan.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/graph/node.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/graph/path.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/graph/query_result.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/json/__init__.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/json/_util.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/json/commands.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/json/decoders.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/json/path.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/search/__init__.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/search/_util.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/search/aggregation.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/search/commands.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/search/document.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/search/field.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/search/indexDefinition.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/search/query.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/search/querystring.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/search/reducers.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/search/result.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/search/suggestion.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/timeseries/__init__.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/timeseries/commands.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/timeseries/info.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "redis/commands/timeseries/utils.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/__init__.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/conftest.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/mocks.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/ssl_utils.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_bloom.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_cluster.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_command_parser.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_commands.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_connect.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_connection.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_connection_pool.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_credentials.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_encoding.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_function.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_graph.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_helpers.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_json.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_lock.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_monitor.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_multiprocessing.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_pipeline.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_pubsub.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_retry.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_scripting.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_search.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_sentinel.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_ssl.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_timeseries.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/__init__.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/compat.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/conftest.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/mocks.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/test_bloom.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/test_cluster.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/test_commands.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/test_connect.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/test_connection.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/test_connection_pool.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/test_credentials.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/test_cwe_404.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/test_encoding.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/test_graph.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/test_json.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/test_lock.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/test_monitor.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/test_pipeline.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/test_pubsub.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/test_retry.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/test_scripting.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/test_search.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/test_sentinel.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/test_sentinel_managed_connection.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/test_timeseries.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/testdata/jsontestdata.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/testdata/titles.csv", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_asyncio/testdata/will_play_text.csv.bz2", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_graph_utils/__init__.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_graph_utils/test_edge.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_graph_utils/test_node.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/test_graph_utils/test_path.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/testdata/jsontestdata.py", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/testdata/titles.csv", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "path": "tests/testdata/will_play_text.csv.bz2", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ], + "extra_data": { + "Documentation": "https://redis.readthedocs.io/en/latest/", + "Changes": "https://github.com/redis/redis-py/releases" + }, + "dependencies": [ + { + "purl": "pkg:pypi/async-timeout", + "extracted_requirement": "async-timeout>=4.0.2; python_full_version <= \"3.11.2\"", + "scope": "install", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/importlib-metadata", + "extracted_requirement": "importlib-metadata>=1.0; python_version < \"3.8\"", + "scope": "install", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/typing-extensions", + "extracted_requirement": "typing-extensions; python_version < \"3.8\"", + "scope": "install", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/hiredis", + "extracted_requirement": "hiredis>=1.0.0; extra == \"hiredis\"", + "scope": "hiredis", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/cryptography", + "extracted_requirement": "cryptography>=36.0.1; extra == \"ocsp\"", + "scope": "ocsp", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/pyopenssl@20.0.1", + "extracted_requirement": "pyopenssl==20.0.1; extra == \"ocsp\"", + "scope": "ocsp", + "is_runtime": true, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pypi/requests", + "extracted_requirement": "requests>=2.26.0; extra == \"ocsp\"", + "scope": "ocsp", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": "https://pypi.org/project/redis", + "repository_download_url": "https://pypi.org/packages/source/r/redis/redis-5.0.1.tar.gz", + "api_data_url": "https://pypi.org/pypi/redis/5.0.1/json", + "datasource_id": "pypi_editable_egg_pkginfo", + "purl": "pkg:pypi/redis@5.0.1" + } + ], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": "mit AND unknown-license-reference", + "detected_license_expression_spdx": "MIT AND LicenseRef-scancode-unknown-license-reference", + "license_detections": [ + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 8, + "end_line": 8, + "matched_length": 2, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_30.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", + "matched_text": "License: MIT" + } + ], + "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee" + }, + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 18, + "end_line": 18, + "matched_length": 5, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "pypi_mit_license.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", + "matched_text": "License :: OSI Approved :: MIT License" + } + ], + "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" + }, + { + "license_expression": "unknown-license-reference", + "matches": [ + { + "score": 100, + "start_line": 34, + "end_line": 34, + "matched_length": 3, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "unknown-license-reference", + "rule_identifier": "unknown-license-reference_see_license_at_manifest_1.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see_license_at_manifest_1.RULE", + "matched_text": "License-File: LICENSE" + } + ], + "identifier": "unknown_license_reference-6b24f327-22b1-723e-10f9-37a8bc8b3c70" + }, + { + "license_expression": "mit", + "matches": [ + { + "score": 100, + "start_line": 42, + "end_line": 42, + "matched_length": 2, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_126.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_126.RULE", + "matched_text": "MIT licensed](" + }, + { + "score": 100, + "start_line": 42, + "end_line": 42, + "matched_length": 2, + "match_coverage": 100, + "matcher": "2-aho", + "license_expression": "mit", + "rule_identifier": "mit_30.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", + "matched_text": "license-MIT-" + } + ], + "identifier": "mit-84e9222a-45a9-364a-bbfe-3a462e4b18c1" + } + ], + "license_clues": [], + "percentage_of_license_text": 1.14, + "copyrights": [], + "holders": [], + "authors": [ + { + "author": "Redis Inc.", + "start_line": 6, + "end_line": 6 + }, + { + "author": "Redis Inc (https://redis.com)", + "start_line": 183, + "end_line": 183 + } + ], + "emails": [ + { + "email": "oss@redis.com", + "start_line": 7, + "end_line": 7 + }, + { + "email": "sedrik@gmail.com", + "start_line": 188, + "end_line": 188 + } + ], + "urls": [ + { + "url": "https://github.com/redis/redis-py", + "start_line": 5, + "end_line": 5 + }, + { + "url": "https://redis.readthedocs.io/en/latest/", + "start_line": 9, + "end_line": 9 + }, + { + "url": "https://github.com/redis/redis-py/releases", + "start_line": 10, + "end_line": 10 + }, + { + "url": "https://github.com/redis/redis-py/issues", + "start_line": 12, + "end_line": 12 + }, + { + "url": "https://github.com/redis/redis-py/workflows/CI/badge.svg?branch=master", + "start_line": 40, + "end_line": 40 + }, + { + "url": "https://github.com/redis/redis-py/actions?query=workflow:CI+branch:master", + "start_line": 40, + "end_line": 40 + }, + { + "url": "https://readthedocs.org/projects/redis/badge/?version=stable&style=flat", + "start_line": 41, + "end_line": 41 + }, + { + "url": "https://redis-py.readthedocs.io/en/stable", + "start_line": 41, + "end_line": 41 + }, + { + "url": "https://img.shields.io/badge/license-MIT-blue.svg", + "start_line": 42, + "end_line": 42 + }, + { + "url": "https://badge.fury.io/py/redis.svg", + "start_line": 43, + "end_line": 43 + }, + { + "url": "https://pypi.org/project/redis", + "start_line": 43, + "end_line": 43 + }, + { + "url": "https://img.shields.io/github/v/release/redis/redis-py?include_prereleases&label=latest-prerelease", + "start_line": 44, + "end_line": 44 + }, + { + "url": "https://codecov.io/gh/redis/redis-py/branch/master/graph/badge.svg?token=yenl5fzxxr", + "start_line": 45, + "end_line": 45 + }, + { + "url": "https://codecov.io/gh/redis/redis-py", + "start_line": 45, + "end_line": 45 + }, + { + "url": "https://github.com/redis/redis-py/blob/master/CONTRIBUTING.md", + "start_line": 47, + "end_line": 47 + }, + { + "url": "https://devguide.python.org/versions", + "start_line": 51, + "end_line": 51 + }, + { + "url": "https://github.com/redis/redis-om-python", + "start_line": 76, + "end_line": 76 + }, + { + "url": "https://github.com/redis/redis/blob/5.0/00-RELEASENOTES", + "start_line": 80, + "end_line": 80 + }, + { + "url": "https://github.com/redis/redis/blob/6.0/00-RELEASENOTES", + "start_line": 80, + "end_line": 80 + }, + { + "url": "https://github.com/redis/redis/blob/6.2/00-RELEASENOTES", + "start_line": 80, + "end_line": 80 + }, + { + "url": "https://github.com/redis/redis/blob/7.0/00-RELEASENOTES", + "start_line": 80, + "end_line": 80 + }, + { + "url": "https://github.com/redis/redis/blob/7.2/00-RELEASENOTES", + "start_line": 80, + "end_line": 80 + }, + { + "url": "https://redis.readthedocs.io/en/stable/examples.html", + "start_line": 104, + "end_line": 104 + }, + { + "url": "https://redis.readthedocs.io/en/stable/connections.html#connection-pools", + "start_line": 117, + "end_line": 117 + }, + { + "url": "https://redis.readthedocs.io/en/stable/examples/asyncio_examples.html", + "start_line": 124, + "end_line": 124 + }, + { + "url": "https://redis.readthedocs.io/en/stable/connections.html#cluster-client", + "start_line": 124, + "end_line": 124 + }, + { + "url": "https://redis.readthedocs.io/en/stable/connections.html#async-cluster-client", + "start_line": 124, + "end_line": 124 + }, + { + "url": "https://redis.io/commands", + "start_line": 128, + "end_line": 128 + }, + { + "url": "https://github.com/redis/redis-py/tree/master/redis/commands", + "start_line": 128, + "end_line": 128 + }, + { + "url": "https://redis.readthedocs.io/en/stable/commands.html", + "start_line": 128, + "end_line": 128 + }, + { + "url": "https://github.com/redis/redis-py/issues/151#issuecomment-1545015", + "start_line": 147, + "end_line": 147 + }, + { + "url": "https://redis.readthedocs.io/en/stable/advanced_features.html", + "start_line": 150, + "end_line": 150 + }, + { + "url": "https://redis.io/docs/manual/pipelining", + "start_line": 154, + "end_line": 154 + }, + { + "url": "https://redis.io/docs/manual/pubsub", + "start_line": 168, + "end_line": 168 + }, + { + "url": "https://redis.com/", + "start_line": 183, + "end_line": 183 + }, + { + "url": "https://www.redis.com/", + "start_line": 195, + "end_line": 195 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis.egg-info/requires.txt", + "type": "file", + "name": "requires.txt", + "base_name": "requires", + "extension": ".txt", + "size": 216, + "date": "2023-09-26", + "sha1": "629b99dabf367746b3bc88aef77b4b33041e79a5", + "md5": "084b8e15356d8030553e3bda35fc2640", + "sha256": "241eb2012e3261e20b91ca619935da0f6e8b696da3191b1c700a0346b797e345", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [ + { + "type": "pypi", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Python", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": null, + "declared_license_expression_spdx": null, + "license_detections": [], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:pypi/async-timeout", + "extracted_requirement": "async-timeout>=4.0.2", + "scope": "install", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "is_editable": false, + "link": null, + "hash_options": [], + "is_constraint": false, + "is_archive": null, + "is_wheel": false, + "is_url": null, + "is_vcs_url": null, + "is_name_at_url": false, + "is_local_path": null + } + }, + { + "purl": "pkg:pypi/importlib-metadata", + "extracted_requirement": "importlib-metadata>=1.0", + "scope": "install", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "is_editable": false, + "link": null, + "hash_options": [], + "is_constraint": false, + "is_archive": null, + "is_wheel": false, + "is_url": null, + "is_vcs_url": null, + "is_name_at_url": false, + "is_local_path": null + } + }, + { + "purl": "pkg:pypi/typing-extensions", + "extracted_requirement": "typing-extensions", + "scope": "install", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "is_editable": false, + "link": null, + "hash_options": [], + "is_constraint": false, + "is_archive": null, + "is_wheel": false, + "is_url": null, + "is_vcs_url": null, + "is_name_at_url": false, + "is_local_path": null + } + }, + { + "purl": "pkg:pypi/hiredis", + "extracted_requirement": "hiredis>=1.0.0", + "scope": "install", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "is_editable": false, + "link": null, + "hash_options": [], + "is_constraint": false, + "is_archive": null, + "is_wheel": false, + "is_url": null, + "is_vcs_url": null, + "is_name_at_url": false, + "is_local_path": null + } + }, + { + "purl": "pkg:pypi/cryptography", + "extracted_requirement": "cryptography>=36.0.1", + "scope": "install", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "is_editable": false, + "link": null, + "hash_options": [], + "is_constraint": false, + "is_archive": null, + "is_wheel": false, + "is_url": null, + "is_vcs_url": null, + "is_name_at_url": false, + "is_local_path": null + } + }, + { + "purl": "pkg:pypi/pyopenssl@20.0.1", + "extracted_requirement": "pyopenssl==20.0.1", + "scope": "install", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": { + "is_editable": false, + "link": null, + "hash_options": [], + "is_constraint": false, + "is_archive": null, + "is_wheel": false, + "is_url": null, + "is_vcs_url": null, + "is_name_at_url": false, + "is_local_path": null + } + }, + { + "purl": "pkg:pypi/requests", + "extracted_requirement": "requests>=2.26.0", + "scope": "install", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "is_editable": false, + "link": null, + "hash_options": [], + "is_constraint": false, + "is_archive": null, + "is_wheel": false, + "is_url": null, + "is_vcs_url": null, + "is_name_at_url": false, + "is_local_path": null + } + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "pip_requirements", + "purl": null + } + ], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis.egg-info/SOURCES.txt", + "type": "file", + "name": "SOURCES.txt", + "base_name": "SOURCES", + "extension": ".txt", + "size": 3962, + "date": "2023-09-26", + "sha1": "c633fbfdfbd3d6e3ddfb55ef96a5c51851be446c", + "md5": "4ad6d61e9957003e31007dc5769668c6", + "sha256": "15afeaf9ab6f045f30228430294a1653d94f0efe5b460c3b9c53cd13c5ae6a91", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/redis.egg-info/top_level.txt", + "type": "file", + "name": "top_level.txt", + "base_name": "top_level", + "extension": ".txt", + "size": 6, + "date": "2023-09-26", + "sha1": "efa5cd5fb446be774853dcc8d712615ae1e52b51", + "md5": "7b80ba2cca2d34313d17e11ccabd19e2", + "sha256": "38c01e7ecce575ee99a0eb65337e405b3a5122bc2d72a00c1c69518adfb0dbee", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests", + "type": "directory", + "name": "tests", + "base_name": "tests", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": true, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 63, + "dirs_count": 4, + "size_count": 5650948, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/__init__.py", + "type": "file", + "name": "__init__.py", + "base_name": "__init__", + "extension": ".py", + "size": 0, + "date": "2023-09-26", + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": "inode/x-empty", + "file_type": "empty", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/conftest.py", + "type": "file", + "name": "conftest.py", + "base_name": "conftest", + "extension": ".py", + "size": 15707, + "date": "2023-09-26", + "sha1": "48466962ff4882fbe87779ac30fc1b2728e2ee34", + "md5": "fb851579de53886ca671e36d9ae3c711", + "sha256": "7bd2414e1f290f9e4b5bd5e012633fd6aff149155886574f836f96cb4d3c5b8e", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/mocks.py", + "type": "file", + "name": "mocks.py", + "base_name": "mocks", + "extension": ".py", + "size": 1144, + "date": "2023-09-26", + "sha1": "a7506572303679bfbf2013bddda7c359eba246f6", + "md5": "460a5340e11e71f55bfe23fab3fcc63a", + "sha256": "1b7650a75c7a637071491a9467ae06256f2a6c5aa8562f766605201c7b67dd51", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/ssl_utils.py", + "type": "file", + "name": "ssl_utils.py", + "base_name": "ssl_utils", + "extension": ".py", + "size": 536, + "date": "2023-09-26", + "sha1": "e13bcf31ccb48d0f41cc7d177ed39b9e20085cdc", + "md5": "c34153f96f2bb3b4e50ac6f373e0dbc0", + "sha256": "aaeedaa3846446eaff47efd978c5b7765f31a2c443fea14e126717961f1c8cb7", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_bloom.py", + "type": "file", + "name": "test_bloom.py", + "base_name": "test_bloom", + "extension": ".py", + "size": 17400, + "date": "2023-09-26", + "sha1": "ed1d5493505639a0f5d889d47f40d13f785aadf4", + "md5": "022ef9a61ffec08ab3189898fa5928c1", + "sha256": "2f4d66212a5ab4f1a7c3b91e1bc00bbede1ee22449018392a87de82d345f09f5", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_cluster.py", + "type": "file", + "name": "test_cluster.py", + "base_name": "test_cluster", + "extension": ".py", + "size": 128017, + "date": "2023-09-26", + "sha1": "81575d0b0e56308b62028b6ef2da69c9b78d913f", + "md5": "0873e480e2bf979d3e5b6fdb1961bf38", + "sha256": "77cef3254ab0e5cae6c476bcd421c51aeed9615b19a8fd2d7c4b735bc288304d", + "mime_type": "text/x-script.python", + "file_type": "Python script, UTF-8 Unicode text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [ + { + "email": "my@DNS.com", + "start_line": 2811, + "end_line": 2811 + } + ], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_command_parser.py", + "type": "file", + "name": "test_command_parser.py", + "base_name": "test_command_parser", + "extension": ".py", + "size": 3802, + "date": "2023-09-26", + "sha1": "7b6e4345e5ecc50d0a736241ced40925694a6afd", + "md5": "778af372597e7ed6287102de46a7665c", + "sha256": "f1827dd1731ebc3cb225e922cb71f8c103e079b1728daef22ed742285cae1fc7", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://github.com/redis/redis/issues/9493", + "start_line": 92, + "end_line": 92 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_commands.py", + "type": "file", + "name": "test_commands.py", + "base_name": "test_commands", + "extension": ".py", + "size": 184449, + "date": "2023-09-26", + "sha1": "070c5956423f671288caeceb356db6e52394399e", + "md5": "db3a62b29ad536dc620ca50c82e25168", + "sha256": "9ed75286669b68524039f6d5c642083a4c6894a5c7909101c46def5eeb670eec", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://github.com/andymccurdy/redis-py/issues/924", + "start_line": 3356, + "end_line": 3356 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_connect.py", + "type": "file", + "name": "test_connect.py", + "base_name": "test_connect", + "extension": ".py", + "size": 5576, + "date": "2023-09-26", + "sha1": "532eb6e1b9f8dd10eb09bcb1c64c2a51923f9a5d", + "md5": "4e76e10ea7e7522af3c16edaa4eb4f9d", + "sha256": "c4ef17ce6f1b69638d8fb36083aaf820d4ec9e0687bff74b9b9a691ef16e61ed", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_connection.py", + "type": "file", + "name": "test_connection.py", + "base_name": "test_connection", + "extension": ".py", + "size": 9081, + "date": "2023-09-26", + "sha1": "3947d7c07999e411897c7b0716dbd7f8f13a2a09", + "md5": "26e26feffd141764b2d69d6b287bbb13", + "sha256": "dc0b4422a1c0a732e20a6d521b0c64c0d18786b70e08765d740f0edc30c6630c", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_connection_pool.py", + "type": "file", + "name": "test_connection_pool.py", + "base_name": "test_connection_pool", + "extension": ".py", + "size": 31082, + "date": "2023-09-26", + "sha1": "e32391ce483cfc643eb5b6deb0fcc1822bde47e5", + "md5": "d517074448772b8fe1d4d80a1414e195", + "sha256": "22f1201be0393b37632b3e793813feee60bf41401a1783b191f1b80dca589faf", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://github.com/andymccurdy/redis-py/issues/368", + "start_line": 482, + "end_line": 482 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_credentials.py", + "type": "file", + "name": "test_credentials.py", + "base_name": "test_credentials", + "extension": ".py", + "size": 8064, + "date": "2023-09-26", + "sha1": "de7903a97803ca77ee05428a20086b77b5eb15be", + "md5": "133aaf6bfe82a5ee1ad44e8d35e0eebc", + "sha256": "8a656b76adef9b9b4d14ebd834557b2f7697399ea254950a7842f1965cba0676", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_encoding.py", + "type": "file", + "name": "test_encoding.py", + "base_name": "test_encoding", + "extension": ".py", + "size": 3900, + "date": "2023-09-26", + "sha1": "5dd22ea736f3dfab77842c23670ce66a92b54507", + "md5": "b6a14dbec2b80bf5a84eb5aeec1659f3", + "sha256": "1695322a23f415ba51f7d84db022949eca960782f83d19bde7368324e5d11142", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_function.py", + "type": "file", + "name": "test_function.py", + "base_name": "test_function", + "extension": ".py", + "size": 5947, + "date": "2023-09-26", + "sha1": "0b9e45bd7f8f01f8ffa57957ba54f51c40757aba", + "md5": "19d19c565b7c9269f0d17d1d6840600c", + "sha256": "a6afccbbe260f234c28cb4e40595d66a17c169dc86bd488e085427ac5010d0fb", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_graph.py", + "type": "file", + "name": "test_graph.py", + "base_name": "test_graph", + "extension": ".py", + "size": 18540, + "date": "2023-09-26", + "sha1": "100ade41d02221d474f97ccf5a142721f8d5de67", + "md5": "f01dfd2a34ba75d308e692df27c5222b", + "sha256": "7e1e70543fc4b02c26f55c5485201719afd0f85f6a2a89bfb00853ff4b8d433c", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_helpers.py", + "type": "file", + "name": "test_helpers.py", + "base_name": "test_helpers", + "extension": ".py", + "size": 2397, + "date": "2023-09-26", + "sha1": "731bfda4dfaef1784dc1f8f48c76d3f96f723003", + "md5": "4bc4f49e07bec5d0df4a2b1fb91090de", + "sha256": "c6e2095f1994f023614046d3d40436f90aa2a001fae42dce1f393fb87a08bfc7", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_json.py", + "type": "file", + "name": "test_json.py", + "base_name": "test_json", + "extension": ".py", + "size": 47601, + "date": "2023-09-26", + "sha1": "9f7ec5f48c30e766299aba82105d22b835927210", + "md5": "eaba554f3369aa2e7ddc6135a7115891", + "sha256": "4dcc965627f32e3e8d3741af388374308fe4593b182087ae71942739abe938fe", + "mime_type": "text/x-script.python", + "file_type": "Python script, UTF-8 Unicode text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [ + { + "author": "Nigel Rees", + "start_line": 1249, + "end_line": 1249 + }, + { + "author": "Evelyn Waugh", + "start_line": 1256, + "end_line": 1256 + }, + { + "author": "Herman Melville", + "start_line": 1263, + "end_line": 1263 + }, + { + "author": "J. R. R. Tolkien", + "start_line": 1271, + "end_line": 1271 + } + ], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_lock.py", + "type": "file", + "name": "test_lock.py", + "base_name": "test_lock", + "extension": ".py", + "size": 8916, + "date": "2023-09-26", + "sha1": "8ca48b506e7c88a4fa6f6b622fff17a37e4a3ebb", + "md5": "3db7a50a0983934c39ba359dd7b994da", + "sha256": "0cc63e0b107caebc37e4378c74f16aebe57de8d9edc57d9fe437fde6a529cbdd", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_monitor.py", + "type": "file", + "name": "test_monitor.py", + "base_name": "test_monitor", + "extension": ".py", + "size": 2496, + "date": "2023-09-26", + "sha1": "218d5c01488ae60ac8250552495f2668e5294e08", + "md5": "3c54f7f9da9ff3c55618f27d48d10a23", + "sha256": "c63085e8224083fc72556503ea40c47023ff71a5e1b149117ade967509ee3399", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_multiprocessing.py", + "type": "file", + "name": "test_multiprocessing.py", + "base_name": "test_multiprocessing", + "extension": ".py", + "size": 5671, + "date": "2023-09-26", + "sha1": "08f88936143b559cda0ae442b22e4cdcf9fded8a", + "md5": "cc7aaf64524403fd0ce00f59898ee235", + "sha256": "48f983cb7d5e98706b7f75e35683ded32941b83dd24e31a203431548ed5e3c9f", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_pipeline.py", + "type": "file", + "name": "test_pipeline.py", + "base_name": "test_pipeline", + "extension": ".py", + "size": 13137, + "date": "2023-09-26", + "sha1": "2e4bec42fe8fd3977342d9826cc98ad4fd16cb35", + "md5": "dc39e860f047ffc4adaae724d23f76bb", + "sha256": "d221e16433a22ac48eccbf5fac6c126d12bae58ad46e1106ac82dd088a602c97", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_pubsub.py", + "type": "file", + "name": "test_pubsub.py", + "base_name": "test_pubsub", + "extension": ".py", + "size": 43247, + "date": "2023-09-26", + "sha1": "4ae6a7cb0fa2828ba1078d06c78531fb97461c89", + "md5": "81f22ae9347fb801f356af8f3e49f493", + "sha256": "f6a4aac95029eb2af24718c8f8e5af3b5b3cff7cbec0beaa86e8701e11f4d2d7", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://github.com/andymccurdy/redis-py/issues/764", + "start_line": 381, + "end_line": 381 + }, + { + "url": "https://redis-py-cluster.readthedocs.io/en/stable/pubsub.html", + "start_line": 577, + "end_line": 577 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_retry.py", + "type": "file", + "name": "test_retry.py", + "base_name": "test_retry", + "extension": ".py", + "size": 8206, + "date": "2023-09-26", + "sha1": "25c7a105efe88607154aeaf8d3f719f1eafdfc9b", + "md5": "d7b756340f3ae61f517048b67c3ce631", + "sha256": "96ec9d2bba59721bc83887413bcca013f79079aad79700b5e083a600b6574d35", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_scripting.py", + "type": "file", + "name": "test_scripting.py", + "base_name": "test_scripting", + "extension": ".py", + "size": 8794, + "date": "2023-09-26", + "sha1": "e5bf76a93a2c6b09f86962bd018ddcce79ab70fd", + "md5": "425344195e2d6b92929b6ba79fed3a26", + "sha256": "983bec4f1624b8007cb5e74162d604c85dccbfa7d0d711438a9327548ef478af", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_search.py", + "type": "file", + "name": "test_search.py", + "base_name": "test_search", + "extension": ".py", + "size": 80252, + "date": "2023-09-26", + "sha1": "2feb35b02cda844cb3ddcfe2e99956006fc0d08f", + "md5": "d542dbdb3845f741b1c48d3fe2324a5e", + "sha256": "655c3c46d2cd25fbb9d37d1e4fdf7b85571fbbde02087422162a197b4b7d7d2f", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_sentinel.py", + "type": "file", + "name": "test_sentinel.py", + "base_name": "test_sentinel", + "extension": ".py", + "size": 8004, + "date": "2023-09-26", + "sha1": "f8ff83d340b4f7a6541347c1352e01cde869b66b", + "md5": "fd199d126ee0cc90411011ecdb9f2fcb", + "sha256": "7edc04126f857892c2b1012c90822aec83625d4d9c27ffaa41f501210fb09783", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_ssl.py", + "type": "file", + "name": "test_ssl.py", + "base_name": "test_ssl", + "extension": ".py", + "size": 8248, + "date": "2023-09-26", + "sha1": "371c6689d2998a299c734e2bd149e4e35152d306", + "md5": "ed797c042bf2c7d5a78b767c16e8b5f1", + "sha256": "eb34ffea4c944962e0052b0afc4ecc4c13ef5eea72ad4ebb9fcd5a236ecc7475", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_timeseries.py", + "type": "file", + "name": "test_timeseries.py", + "base_name": "test_timeseries", + "extension": ".py", + "size": 32821, + "date": "2023-09-26", + "sha1": "ddf92089cdef8d2d2b2d2997de8ae6b7645cd06c", + "md5": "c435bf7702007aa4a568cb0021d96f8e", + "sha256": "b344f95df77beadf7113afd7973587dca56710ef053cfdbcdc988de3919e1a1a", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio", + "type": "directory", + "name": "test_asyncio", + "base_name": "test_asyncio", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 28, + "dirs_count": 1, + "size_count": 2758625, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/__init__.py", + "type": "file", + "name": "__init__.py", + "base_name": "__init__", + "extension": ".py", + "size": 0, + "date": "2023-09-26", + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": "inode/x-empty", + "file_type": "empty", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/compat.py", + "type": "file", + "name": "compat.py", + "base_name": "compat", + "extension": ".py", + "size": 416, + "date": "2023-09-26", + "sha1": "4239d9a1b6a605bf7110c01d59c63f7474ea2e33", + "md5": "c0b104fa0e227c70e01131c06ea385bd", + "sha256": "f3407c7e1de6d20f9ba837c78d5381dda75974d9628c7ca68e438b46cce66aa8", + "mime_type": "text/x-script.python", + "file_type": "Python script text executable Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/conftest.py", + "type": "file", + "name": "conftest.py", + "base_name": "conftest", + "extension": ".py", + "size": 9070, + "date": "2023-09-26", + "sha1": "1d169e6fad9f7a24512383e49a421f989185bd2a", + "md5": "b6755d9481ca9eb453e82997efb1c254", + "sha256": "c31206a758fdbb1e1f20077d9d1f69711edba13b2dbcf8fd2f18df7d8bb47f83", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/mocks.py", + "type": "file", + "name": "mocks.py", + "base_name": "mocks", + "extension": ".py", + "size": 1340, + "date": "2023-09-26", + "sha1": "c3579e7122101703aed1d8d098d870f27e492284", + "md5": "73abffe00f6ebc47031bd78ee52fc791", + "sha256": "a3088264ea4c8a511b914819adad4803a55900d8973f49e00331d5e8ccfda74f", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/test_bloom.py", + "type": "file", + "name": "test_bloom.py", + "base_name": "test_bloom", + "extension": ".py", + "size": 19099, + "date": "2023-09-26", + "sha1": "e23df5d7f1f460b6f8611a69ea05182a40565c4d", + "md5": "2e074f4c89a3e80c5d13a07287fd88e7", + "sha256": "8ab350473ed931a9b09ec5e31ef7a3591789097789609d09bb2bcc0aa1836e8c", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/test_cluster.py", + "type": "file", + "name": "test_cluster.py", + "base_name": "test_cluster", + "extension": ".py", + "size": 119736, + "date": "2023-09-26", + "sha1": "3fc73ef3026a2c3591bf9095a89b97a50a1652e0", + "md5": "b7a02ed8b1a8f4d56f572dc776fb2cc7", + "sha256": "79e0451f49c7e731c77e6665fa50320cc44e237dfa7ed9d48f4f9e5a7b8f5f62", + "mime_type": "text/x-script.python", + "file_type": "Python script, UTF-8 Unicode text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://github.com/redis/redis-py/issues/2437", + "start_line": 1032, + "end_line": 1032 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/test_commands.py", + "type": "file", + "name": "test_commands.py", + "base_name": "test_commands", + "extension": ".py", + "size": 128102, + "date": "2023-09-26", + "sha1": "19cb75494be5e0c43c3818bcf3ff03e555d6640f", + "md5": "0a1b585ca1bc7a55afb26001aa418f5e", + "sha256": "57f28a21d3c09b3fb904bd6893cef0bb5ac865fb8b96aca95433602206414163", + "mime_type": "text/plain", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://github.com/andymccurdy/redis-py/issues/924", + "start_line": 2268, + "end_line": 2268 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/test_connect.py", + "type": "file", + "name": "test_connect.py", + "base_name": "test_connect", + "extension": ".py", + "size": 4294, + "date": "2023-09-26", + "sha1": "fcc43fc565f86ad1b627ce9d818e3e399ff6d153", + "md5": "3d7628ba574f21552f55b0df5af0bb8c", + "sha256": "cb361bb06359aef128155df0960e1a9113033604dd6d08378671794d7dc7d1d9", + "mime_type": "text/x-script.python", + "file_type": "Python script text executable Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/test_connection.py", + "type": "file", + "name": "test_connection.py", + "base_name": "test_connection", + "extension": ".py", + "size": 13912, + "date": "2023-09-26", + "sha1": "328bd4201c3c1ed1210ef00eb3bab25ce8426535", + "md5": "cb94f1c06561f81521b0db59d71d128f", + "sha256": "8388547424ae27760b17d671473b2c4a26c9044f14355c19c2e9a231b531c17a", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/test_connection_pool.py", + "type": "file", + "name": "test_connection_pool.py", + "base_name": "test_connection_pool", + "extension": ".py", + "size": 35301, + "date": "2023-09-26", + "sha1": "35364a9e5b13ebb832c0e046fe61eff54f3db9e2", + "md5": "67af6f4f68e73323ae9a07a8801fbfae", + "sha256": "f8b171ac080ccf2af5d21ce100cf8ed102091e3763a843130401415e9aad3551", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://github.com/andymccurdy/redis-py/issues/368", + "start_line": 558, + "end_line": 558 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/test_credentials.py", + "type": "file", + "name": "test_credentials.py", + "base_name": "test_credentials", + "extension": ".py", + "size": 9313, + "date": "2023-09-26", + "sha1": "5536a1d7ec8bfe23c1d19ffb1c20df6988d4e942", + "md5": "0f494c6e543855784bb89a4a40af47da", + "sha256": "a93648909575ddf8ed4a7783c2f84a8def5020bf266d1f26909e0b30160ea861", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/test_cwe_404.py", + "type": "file", + "name": "test_cwe_404.py", + "base_name": "test_cwe_404", + "extension": ".py", + "size": 8789, + "date": "2023-09-26", + "sha1": "060504c95efc1e3dac3388b472a160945086424b", + "md5": "116ea727ab69f7667bcb680a7cde9706", + "sha256": "b0786139d98c31fc1b6bc93d802d963c80381c1d096773958c52f61c914f5f4d", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/test_encoding.py", + "type": "file", + "name": "test_encoding.py", + "base_name": "test_encoding", + "extension": ".py", + "size": 4244, + "date": "2023-09-26", + "sha1": "5e5b8c8bbfed6b89eec36e50c491f9fd396a9973", + "md5": "34fd8a967f22431d2d4ee5bfa05d93af", + "sha256": "d8d8a56f0c638068626d6646a5c70fb2765dc8d9156acbafc106ca2964f433c3", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/test_graph.py", + "type": "file", + "name": "test_graph.py", + "base_name": "test_graph", + "extension": ".py", + "size": 15843, + "date": "2023-09-26", + "sha1": "1c635a6727763170c79ffabd2bb8244fd99bd540", + "md5": "80ae1d4e73ce7e3b59061fdabeadf55d", + "sha256": "77daf8ebc68756d209a7cec8a284ddb96b83197503cf4601b6438db7f5ba1bef", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/test_json.py", + "type": "file", + "name": "test_json.py", + "base_name": "test_json", + "extension": ".py", + "size": 36704, + "date": "2023-09-26", + "sha1": "0eed9bdc675d841ebbe131092325d10b64cc8f1d", + "md5": "6e529352c9f4474932f43928bf7df2e4", + "sha256": "18803dc970a8b07f697fbb41f14cc4c95a9a8e06d262475533d779aaa3574dc1", + "mime_type": "text/x-script.python", + "file_type": "Python script, UTF-8 Unicode text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/test_lock.py", + "type": "file", + "name": "test_lock.py", + "base_name": "test_lock", + "extension": ".py", + "size": 8960, + "date": "2023-09-26", + "sha1": "a227038fd651946d99799563fcce5692dd0b38e0", + "md5": "2d9aec9f660a9d710af49ee6c81cc77c", + "sha256": "53a2ae60ab82624ac2120c4806d8eafc7363fb04d5e67a9f0777b20ed3e411ca", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/test_monitor.py", + "type": "file", + "name": "test_monitor.py", + "base_name": "test_monitor", + "extension": ".py", + "size": 2671, + "date": "2023-09-26", + "sha1": "17bb437fce8f631fcf24da57abb94ecb952cbc22", + "md5": "177ebdbfa1ce38fe23de2f5486cd5360", + "sha256": "6a2eebcd0971909f83572ce55120387ca532d76247decc6fa78ca01b2bf17634", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/test_pipeline.py", + "type": "file", + "name": "test_pipeline.py", + "base_name": "test_pipeline", + "extension": ".py", + "size": 14407, + "date": "2023-09-26", + "sha1": "5d9f33ca3c6963a51f171d9c82f9a24876103d41", + "md5": "bdec9c8dbab92b7a51028f10fdf83586", + "sha256": "ca799a8569f0556d21d956daacdd3b0ce2dd7b7c1e184d46a0d95ca506a79a87", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/test_pubsub.py", + "type": "file", + "name": "test_pubsub.py", + "base_name": "test_pubsub", + "extension": ".py", + "size": 39645, + "date": "2023-09-26", + "sha1": "c4defdad9467054e98b1203711c91dea14836bc6", + "md5": "b08aed5e81276d7c8345e9d8810f5164", + "sha256": "6da0117b7a06ab243100beb896018b331c5ee50a4c7449e9f142204401a15566", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [ + { + "url": "https://github.com/redis/redis-py/issues/2633", + "start_line": 9, + "end_line": 9 + }, + { + "url": "https://github.com/andymccurdy/redis-py/issues/764", + "start_line": 305, + "end_line": 305 + }, + { + "url": "https://redis-py-cluster.readthedocs.io/en/stable/pubsub.html", + "start_line": 437, + "end_line": 437 + } + ], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/test_retry.py", + "type": "file", + "name": "test_retry.py", + "base_name": "test_retry", + "extension": ".py", + "size": 5226, + "date": "2023-09-26", + "sha1": "51c594104f070fb44fc3bc036cab9c3252b1e6a6", + "md5": "a2738b30a79ccf3ee18177367a426c8e", + "sha256": "7542446ea0d4422d4c70366d54ccf55e8517e2f91b111d3784b6d4a1a019a119", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/test_scripting.py", + "type": "file", + "name": "test_scripting.py", + "base_name": "test_scripting", + "extension": ".py", + "size": 5628, + "date": "2023-09-26", + "sha1": "642d7388c4d12bf0d42d9ae74f8a6c7cfa6960d7", + "md5": "6f85988bbbe490410a171added018d6b", + "sha256": "a9c3dd36d05754d2f707064dc453fec81c907f844d56eb1cbc9637680c9dcd36", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/test_search.py", + "type": "file", + "name": "test_search.py", + "base_name": "test_search", + "extension": ".py", + "size": 56982, + "date": "2023-09-26", + "sha1": "60a6b3214a0fcab31494bb1e7290ed8aec7f0069", + "md5": "dab8eace7ca1df1bc937a8f2e591a945", + "sha256": "fd5958a52639d83a39ad63b46763748a17dc927fbfae580d341c6e23b7136552", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/test_sentinel.py", + "type": "file", + "name": "test_sentinel.py", + "base_name": "test_sentinel", + "extension": ".py", + "size": 8169, + "date": "2023-09-26", + "sha1": "4a97b31c0c566bd781e22a88a89c657c8d2e9f32", + "md5": "b17159d14e9d2eff48cae275d2e5210e", + "sha256": "c63068c4dd3c253fc1df99c59cb0b126fed8a114f7002c14b88a97d90f2bf0ce", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/test_sentinel_managed_connection.py", + "type": "file", + "name": "test_sentinel_managed_connection.py", + "base_name": "test_sentinel_managed_connection", + "extension": ".py", + "size": 1069, + "date": "2023-09-26", + "sha1": "cd1f35cbee44339aedaddd813875b9adf0bcf542", + "md5": "de856173872ace0ce8583cb666c28474", + "sha256": "d09b89544fc761156438a537c5f5ca4ee23d1782ca06a1c2454354b1cf64d9b0", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/test_timeseries.py", + "type": "file", + "name": "test_timeseries.py", + "base_name": "test_timeseries", + "extension": ".py", + "size": 27355, + "date": "2023-09-26", + "sha1": "53dc216499cd8dc15abf3c590d51810b6090fc6a", + "md5": "ebf6b94f41444326b2e488dfb74821cf", + "sha256": "b6ce5c9e0877b61d30dfe923d375fe4fbc2328d073850097fb3bb21b5cb82131", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/testdata", + "type": "directory", + "name": "testdata", + "base_name": "testdata", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 3, + "dirs_count": 0, + "size_count": 2182350, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/testdata/jsontestdata.py", + "type": "file", + "name": "jsontestdata.py", + "base_name": "jsontestdata", + "extension": ".py", + "size": 14095, + "date": "2023-09-26", + "sha1": "090877fd3a11fecb041b8a7b72a666d50f8d3a08", + "md5": "b0e98487951561416a58cace09aeb1ea", + "sha256": "ff0f9c106517ef4ad2a2e3401d469798693e8497952874ebd594acce605e1d5f", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/testdata/titles.csv", + "type": "file", + "name": "titles.csv", + "base_name": "titles", + "extension": ".csv", + "size": 98632, + "date": "2023-09-26", + "sha1": "062d5dfe71ed1f146c7ad4c4553398422d201e2a", + "md5": "bc2eb8c885698bd160de2206c5e2236a", + "sha256": "4366eae4ce9c768a77bf9423c712ef6634157b716b43a05993b1002f87914a9a", + "mime_type": "application/csv", + "file_type": "CSV text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_asyncio/testdata/will_play_text.csv.bz2", + "type": "file", + "name": "will_play_text.csv.bz2", + "base_name": "will_play_text.csv", + "extension": ".bz2", + "size": 2069623, + "date": "2023-09-26", + "sha1": "c9a598ac7e98f5f178b50e1ab3eafe1a9eb8cd27", + "md5": "4cea7fd70851da3a502620236ad7b809", + "sha256": "7b8a4bf691cd9f9d7abfaae84ec2e6d47fa2b5ab9b10958dc5aaec30b88b9f4a", + "mime_type": "application/x-bzip2", + "file_type": "bzip2 compressed data, block size = 900k", + "programming_language": null, + "is_binary": true, + "is_text": false, + "is_archive": true, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_graph_utils", + "type": "directory", + "name": "test_graph_utils", + "base_name": "test_graph_utils", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 4, + "dirs_count": 0, + "size_count": 6938, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_graph_utils/__init__.py", + "type": "file", + "name": "__init__.py", + "base_name": "__init__", + "extension": ".py", + "size": 0, + "date": "2023-09-26", + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": "inode/x-empty", + "file_type": "empty", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_graph_utils/test_edge.py", + "type": "file", + "name": "test_edge.py", + "base_name": "test_edge", + "extension": ".py", + "size": 2292, + "date": "2023-09-26", + "sha1": "1ae0f97196f12656cd194fc4362ebedb8773d62c", + "md5": "751d3149b94b1c06bf25a9b705abdb51", + "sha256": "362405a718dedafa55e3366bfcdc3a5f44347fad54a4dc50c17ef4fb4bacef88", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_graph_utils/test_node.py", + "type": "file", + "name": "test_node.py", + "base_name": "test_node", + "extension": ".py", + "size": 2020, + "date": "2023-09-26", + "sha1": "275d996d6bb59fb44f48b4ee81b884098391df9e", + "md5": "b885148d95598c5a92a55b392efd9415", + "sha256": "3b106ff12b418813882f75d19d1edf8feae38d3230379e7ee378841ac95693ab", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/test_graph_utils/test_path.py", + "type": "file", + "name": "test_path.py", + "base_name": "test_path", + "extension": ".py", + "size": 2626, + "date": "2023-09-26", + "sha1": "1b51838300483dee0bcf54974e139ec427039001", + "md5": "29df72415e529d5e407926f1c39daa70", + "sha256": "99cc22c066f708449d641c9a6bf8c1cce03551c5963304e76b446fd8852cc722", + "mime_type": "text/x-script.python", + "file_type": "Python script, ASCII text executable", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": true, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/testdata", + "type": "directory", + "name": "testdata", + "base_name": "testdata", + "extension": "", + "size": 0, + "date": null, + "sha1": null, + "md5": null, + "sha256": null, + "mime_type": null, + "file_type": null, + "programming_language": null, + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 3, + "dirs_count": 0, + "size_count": 2182350, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/testdata/jsontestdata.py", + "type": "file", + "name": "jsontestdata.py", + "base_name": "jsontestdata", + "extension": ".py", + "size": 14095, + "date": "2023-09-26", + "sha1": "090877fd3a11fecb041b8a7b72a666d50f8d3a08", + "md5": "b0e98487951561416a58cace09aeb1ea", + "sha256": "ff0f9c106517ef4ad2a2e3401d469798693e8497952874ebd594acce605e1d5f", + "mime_type": "text/plain", + "file_type": "ASCII text", + "programming_language": "Python", + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": true, + "is_script": false, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/testdata/titles.csv", + "type": "file", + "name": "titles.csv", + "base_name": "titles", + "extension": ".csv", + "size": 98632, + "date": "2023-09-26", + "sha1": "062d5dfe71ed1f146c7ad4c4553398422d201e2a", + "md5": "bc2eb8c885698bd160de2206c5e2236a", + "sha256": "4366eae4ce9c768a77bf9423c712ef6634157b716b43a05993b1002f87914a9a", + "mime_type": "application/csv", + "file_type": "CSV text", + "programming_language": null, + "is_binary": false, + "is_text": true, + "is_archive": false, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + }, + { + "path": "redis-5.0.1/tests/testdata/will_play_text.csv.bz2", + "type": "file", + "name": "will_play_text.csv.bz2", + "base_name": "will_play_text.csv", + "extension": ".bz2", + "size": 2069623, + "date": "2023-09-26", + "sha1": "c9a598ac7e98f5f178b50e1ab3eafe1a9eb8cd27", + "md5": "4cea7fd70851da3a502620236ad7b809", + "sha256": "7b8a4bf691cd9f9d7abfaae84ec2e6d47fa2b5ab9b10958dc5aaec30b88b9f4a", + "mime_type": "application/x-bzip2", + "file_type": "bzip2 compressed data, block size = 900k", + "programming_language": null, + "is_binary": true, + "is_text": false, + "is_archive": true, + "is_media": false, + "is_source": false, + "is_script": false, + "package_data": [], + "for_packages": [ + "pkg:pypi/redis@5.0.1?uuid=a64d1ee6-ef5f-4817-9767-9140affb9061" + ], + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "copyrights": [], + "holders": [], + "authors": [], + "emails": [], + "urls": [], + "is_generated": false, + "files_count": 0, + "dirs_count": 0, + "size_count": 0, + "scan_errors": [] + } + ] + } +} diff --git a/test/providers/summary/scancode-new.js b/test/providers/summary/scancode-new.js index 4071d9ff9..5b2023980 100644 --- a/test/providers/summary/scancode-new.js +++ b/test/providers/summary/scancode-new.js @@ -6,7 +6,7 @@ const summarizer = require('../../../providers/summary/scancode')() summarizer.logger = { info: () => {} } const fs = require('fs') const path = require('path') -const { get, uniq, flatten } = require('lodash') +const { compact, uniq, flatten } = require('lodash') const { expect } = require('chai') const scancodeVersions = ['32.0.8'] @@ -16,7 +16,6 @@ describe('ScancodeSummarizerNew basic compatability', () => { const coordinates = { type: 'npm', provider: 'npmjs' } for (let version of scancodeVersions) { const harvestData = getHarvestData(version, 'npm-basic') - if (!harvestData) continue const result = summarizer.summarize(coordinates, harvestData) assert.equal(result.licensed.declared, 'ISC', `Declared license mismatch for version ${version}`) assert.equal(result.described.releaseDate, '2017-05-19', `releaseDate mismatch for version ${version}`) @@ -34,7 +33,6 @@ describe('ScancodeSummarizerNew basic compatability', () => { } for (let version of scancodeVersions) { const harvestData = getHarvestData(version, 'npm-large') - if (!harvestData) continue const result = summarizer.summarize(coordinates, harvestData) assert.equal( result.licensed.declared, @@ -124,46 +122,55 @@ describe('ScancodeSummarizerNew basic compatability', () => { const coordinates = { type: 'gem', provider: 'rubygems' } for (let version of scancodeVersions) { const harvestData = getHarvestData(version, 'gem') - if (!harvestData) continue const result = summarizer.summarize(coordinates, harvestData) - assert.equal( - get(result.licensed, 'declared'), - `Declared license mismatch for version ${version}` - ) + assert.equal(result.licensed.declared, 'MIT', `Declared license mismatch for version ${version}`) assert.equal(result.files.find((x) => x.path === 'MIT-LICENSE.md').license, 'MIT') - assert.equal(result.described.releaseDate, '2018-08-09', `releaseDate mismatch for version ${version}`) + assert.equal(result.described.releaseDate, '2023-07-27', `releaseDate mismatch for version ${version}`) assert.deepEqual(uniq(flatten(result.files.map((x) => x.attributions))).filter((x) => x).length, 3) - } + } }) it('summarizes git repos', () => { const coordinates = { type: 'git', provider: 'github' } for (let version of scancodeVersions) { const harvestData = getHarvestData(version, 'git') - if (!harvestData) continue const result = summarizer.summarize(coordinates, harvestData) - assert.equal(result.licensed.declared, 'ISC', `Declared license mismatch for version ${version}`) - assert.equal(result.described.releaseDate, '2017-02-24', `releaseDate mismatch for version ${version}`) - assert.deepEqual(uniq(flatten(result.files.map((x) => x.attributions))).filter((x) => x).length, 1) + assert.equal(result.licensed.declared, 'MIT', `Declared license mismatch for version ${version}`) + assert.equal(result.described.releaseDate, '2021-01-28', `releaseDate mismatch for version ${version}`) + assert.deepEqual(uniq(compact(flatten(result.files.map((x) => x.attributions)))).length, 1) assert.deepEqual(result.files.find((x) => x.path === 'LICENSE').natures, ['license']) - assert.equal(flatten(result.files.map((x) => x.natures)).filter((x) => x).length, 1) + assert.equal(compact(flatten(result.files.map((x) => x.natures))).length, 1) } }) it('summarizes pythons', () => { - const coordinates = { type: 'pypi', provider: 'pypi', name: 'redis', revision: '3.0.1' } + const coordinates = { type: 'pypi', provider: 'pypi', name: 'redis', revision: '5.0.1' } for (let version of scancodeVersions) { const harvestData = getHarvestData(version, 'python') - if (!harvestData) continue const result = summarizer.summarize(coordinates, harvestData) assert.equal(result.licensed.declared, 'MIT', `Declared license mismatch for version ${version}`) - assert.equal(result.described.releaseDate, '2018-11-15', `releaseDate mismatch for version ${version}`) - assert.deepEqual(uniq(flatten(result.files.map((x) => x.attributions))).filter((x) => x).length, 1) - assert.deepEqual(result.files.find((x) => x.path === 'redis-3.0.1/LICENSE').natures, ['license']) + assert.equal(result.described.releaseDate, '2023-09-26', `releaseDate mismatch for version ${version}`) + assert.deepEqual(uniq(compact(flatten(result.files.map((x) => x.attributions)))).length, 1) + assert.deepEqual(result.files.find((x) => x.path === 'redis-5.0.1/LICENSE').natures, ['license']) assert.equal(flatten(result.files.map((x) => x.natures)).filter((x) => x).length, 1) } }) + + it('summarizes crates', () => { + const coordinates = { type: 'crate', provider: 'cratesio', name: 'rand', revision: '0.8.2' } + for (let version of scancodeVersions) { + const harvestData = getHarvestData(version, 'crate-file-summary') + const result = summarizer.summarize(coordinates, harvestData) + assert.equal(result.licensed.declared, 'Apache-2.0 AND (Apache-2.0 OR MIT)', `Declared license mismatch for version ${version}`) + assert.equal(result.described.releaseDate, '2021-01-13', `releaseDate mismatch for version ${version}`) + assert.deepEqual(uniq(compact(flatten(result.files.map((x) => x.attributions)))).length, 6) + assert.deepEqual(result.files.find((x) => x.path === 'COPYRIGHT').natures, ['license']) + assert.deepEqual(result.files.find((x) => x.path === 'LICENSE-APACHE').natures, ['license']) + assert.deepEqual(result.files.find((x) => x.path === 'LICENSE-MIT').natures, ['license']) + assert.equal(compact(flatten(result.files.map((x) => x.natures))).length, 3) + } + }) }) describe('ScancodeSummarizerNew fixtures', () => {