Skip to main content

High-performance dead code elimination analysis tool for Python.

Project description

CytoScnPy - High-Performance Python Static Analysis

CI Coverage codecov Security Audit Docs License Version

A fast, lightweight static analyzer for Python codebase. It’s built in Rust with Python integration and detection of dead code, security issues, and code quality issue, along with useful quality metrics.

Why CytoScnPy?

  • Blazing Fast: Faster in dead code detection.
  • Memory Efficient: Uses less memory.
  • Comprehensive: Dead code, secrets, security, taint analysis, quality metrics
  • Framework Aware: Flask, Django, FastAPI, Pydantic, Azure Functions
  • Benchmarked: Continuous benchmarking with 135-item ground truth suite

Installation

Linux / macOS:

# Install
curl -fsSL https://raw.githubusercontent.com/djinn09/CytoScnPy/main/install.sh | bash

Windows (PowerShell):

# Install
irm https://raw.githubusercontent.com/djinn09/CytoScnPy/main/install.ps1 | iex

Via Pip:

pip install cytoscnpy

From Source:

git clone https://github.com/djinn09/CytoScnPy.git
cd CytoScnPy
pip install maturin
maturin develop -m cytoscnpy/Cargo.toml

MCP Server (for AI Assistants)

CytoScnPy includes an MCP server for AI assistant integration via the standalone CLI binary (install script or cytoscnpy-cli build). The Python package does not run mcp-server.

# Start MCP server (standalone CLI)
cytoscnpy mcp-server

For Claude Desktop, Cursor, or GitHub Copilot configuration, see the MCP Server Documentation.

GitHub Action

Integrate CytoScnPy directly into your GitHub Actions workflow:

- name: Run CytoScnPy Analysis
  uses: djinn09/CytoScnPy@main
  with:
    args: "--secrets --danger --quality"

Action Inputs:

Input Description Default
path Path(s) to analyze .
args Additional arguments (e.g., --secrets)
version Version of cytoscnpy to install latest
python-version Version of Python to set up 3.x

Features

  • Dead Code Detection: Unused functions, classes, imports, and variables with cross-module tracking.
    • Cascading Detection: Methods inside unused classes are automatically flagged as unused.
    • Auto-Fix: Remove dead code automatically with --fix (preview by default, use --apply to execute).
  • Clone Detection: Find duplicate code with --clones.
  • Security Analysis: Taint analysis (SQLi, XSS), secret scanning (API keys, suspicious variables), and dangerous code patterns (eval, exec).
  • Code Quality Metrics: Cyclomatic complexity, Halstead metrics, Maintainability Index, and raw metrics (LOC, SLOC).
  • Framework Support: Native understanding of Flask, Django, FastAPI, Pydantic, and Azure Functions v2 patterns.
  • Smart Heuristics: Handles dataclasses, __all__ exports, visitor patterns, and dynamic attributes intelligently.
  • Cross-File Detection: Tracks symbol usage across the entire codebase, including nested packages and complex import chains, to ensure code used in other modules is never incorrectly flagged.

Usage

[!IMPORTANT] Behavioral Change: Starting from version 1.2.2, tests are excluded by default across both the CLI and the library API to reduce noise in production analysis. Use the --include-tests flag or set include_tests = true in your configuration to scan test files.

Command Line

cytoscnpy [PATHS]... [OPTIONS]

Examples:

# Dead code analysis
cytoscnpy .                                     # Analyze current directory
cytoscnpy /path/to/project --json               # JSON output for CI/CD

# Security checks (short flags: -s, -d, -q)
cytoscnpy . --secrets --danger --quality
cytoscnpy . -s -d -q                        # Same with short flags

# Confidence threshold (0-100)
cytoscnpy . --confidence 80

# Path filtering
cytoscnpy . --exclude-folder venv --exclude-folder build
cytoscnpy . --include-folder specific_venv      # Override defaults
cytoscnpy . --include-tests

# Jupyter notebooks
cytoscnpy . --include-ipynb --ipynb-cells

# Clone detection (find duplicate code)
cytoscnpy . --clones --clone-similarity 0.8

# Auto-fix dead code (preview first, then apply)
cytoscnpy . --fix                    # Preview changes (dry-run by default)
cytoscnpy . --fix --apply            # Apply changes
cytoscnpy . --fix -a                 # Apply changes (short flag)

# Generate HTML report (quality auto-enabled; add --secrets --danger for security)
cytoscnpy . --html --secrets --danger

# Pre-commit integration
# See https://djinn09.github.io/CytoScnPy/pre-commit/ for setup

Common Options:

Flag Description
-s, --secrets Scan for API keys and hardcoded credentials
-d, --danger Scan for dangerous code + taint analysis
-q, --quality Scan for code quality issues (complexity, etc.)
--clones Activate duplicate code detection
--fix Preview/dry-run dead code removal
-a, --apply Apply fixes to files (use with --fix)
--json Output results in machine-readable JSON

[!TIP] > View the Full CLI Reference for detailed usage, advanced configuration, and quality gate options.

CI/CD Gate Options:

Flag Description
--fail-threshold <N> Exit code 1 if unused code % > N
--max-complexity <N> Exit code 1 if any function complexity > N
--min-mi <N> Exit code 1 if maintainability index < N
--fail-on-quality Exit code 1 if any quality issues found
--max-nesting <N> Exit code 1 if any block nesting > N
--max-args <N> Exit code 1 if any function has > N args
--max-lines <N> Exit code 1 if any function has > N lines

Full CLI Reference: See docs/CLI.md for complete command documentation.

Metric Subcommands

cytoscnpy raw .                    # Raw Metrics (LOC, SLOC, Comments)
cytoscnpy cc .                     # Cyclomatic Complexity
cytoscnpy hal .                    # Halstead Metrics
cytoscnpy mi .                     # Maintainability Index
cytoscnpy stats . --all            # Full project report (secrets, danger, quality)
cytoscnpy stats . --all -o report.md  # Save report to file
cytoscnpy files .                  # Per-file metrics table

Tip: Add --json for machine-readable output, --exclude-folder <DIR> to skip directories globally, or --ignore <PATTERN> for subcommand-specific glob filtering.

⚙️ Configuration

Create .cytoscnpy.toml (uses [cytoscnpy]) or add to pyproject.toml (uses [tool.cytoscnpy]):

.cytoscnpy.toml example:

[cytoscnpy]
# General Settings
confidence = 60  # Minimum confidence threshold (0-100)
exclude_folders = ["venv", ".tox", "build", "node_modules", ".git"]
include_folders = ["src", "tests"]  # Optional: whitelist folders
include_tests = false
include_ipynb = false

# Analysis Features
secrets = true
danger = true
quality = true

# Fail Threshold (exit code 1 if exceeded)
fail_threshold = 10.0  # Fail if >10% of code is unused
# fail_threshold = 0.0  # Zero tolerance: fail on any unused code

# Code Quality Thresholds
max_lines = 100       # Max lines per function
max_args = 5          # Max arguments per function
max_complexity = 10   # Max cyclomatic complexity
max_nesting = 4       # Max indentation depth
min_mi = 65.0         # Minimum Maintainability Index
ignore = ["R001"]     # Ignore specific rule IDs

# Advanced Secret Scanning
[cytoscnpy.secrets_config]
entropy_enabled = true
entropy_threshold = 4.5  # Higher = more random (API keys usually >4.0)
min_length = 16          # Min length to check for entropy
scan_comments = true     # Scan comments for secrets
skip_docstrings = false  # Skip docstrings in entropy scanning
min_score = 50           # Minimum confidence score (0-100)
suspicious_names = ["db_config", "oauth_token"] # Add custom suspicious variable names

# Custom Secret Patterns
[[cytoscnpy.secrets_config.patterns]]
name = "Slack Token"
regex = "xox[baprs]-([0-9a-zA-Z]{10,48})"
severity = "HIGH"

# Danger + Taint Configuration
[cytoscnpy.danger_config]
enable_taint = true
severity_threshold = "LOW" # LOW, MEDIUM, HIGH, CRITICAL
excluded_rules = ["CSP-D101"]
custom_sources = ["mylib.get_input"]
custom_sinks = ["mylib.exec"]

Note: ipynb_cells is currently CLI-only. include_ipynb is supported in config files.

CI/CD Quality Gates

Configure quality gates for CI/CD pipelines. Set thresholds and the CLI exits with code 1 if exceeded.

CLI Flags:

# Unused code percentage gate
cytoscnpy . --fail-threshold 5  # Fail if >5% unused

# Complexity gate
cytoscnpy . --max-complexity 10  # Fail if any function >10

# Maintainability Index gate
cytoscnpy . --min-mi 40  # Fail if MI <40

# Quiet mode for clean CI output
cytoscnpy . --fail-threshold 5 --quiet

Priority: CLI flag > config file > environment variable > default

Environment Variable: CYTOSCNPY_FAIL_THRESHOLD=5.0

Performance

Accuracy (Benchmark Suite: 135 items)

Detection Type Precision Recall F1 Score
Classes 0.73 0.79 0.76
Functions 0.71 0.74 0.73
Methods 0.86 0.93 0.89
Imports 0.67 0.40 0.50
Variables 0.30 0.15 0.20
Overall 0.71 0.64 0.68

See benchmark/README.md for detailed comparison against Vulture, Flake8, Pylint, Ruff, and others.

Testing

See CONTRIBUTING.md for testing instructions.

Contributing

See CONTRIBUTING.md for development setup and guidelines.

License

Apache-2.0 License - see License file for details.

Links

References

CytoScnPy's design and implementation are inspired by:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

cytoscnpy-1.2.10-cp313-cp313-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.13Windows x86-64

cytoscnpy-1.2.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

cytoscnpy-1.2.10-cp313-cp313-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

cytoscnpy-1.2.10-cp312-cp312-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.12Windows x86-64

cytoscnpy-1.2.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

cytoscnpy-1.2.10-cp312-cp312-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

cytoscnpy-1.2.10-cp311-cp311-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.11Windows x86-64

cytoscnpy-1.2.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

cytoscnpy-1.2.10-cp311-cp311-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

cytoscnpy-1.2.10-cp310-cp310-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.10Windows x86-64

cytoscnpy-1.2.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

cytoscnpy-1.2.10-cp310-cp310-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

cytoscnpy-1.2.10-cp39-cp39-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.9Windows x86-64

cytoscnpy-1.2.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

cytoscnpy-1.2.10-cp39-cp39-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

cytoscnpy-1.2.10-cp38-cp38-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.8Windows x86-64

cytoscnpy-1.2.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

cytoscnpy-1.2.10-cp38-cp38-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

File details

Details for the file cytoscnpy-1.2.10-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: cytoscnpy-1.2.10-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cytoscnpy-1.2.10-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 99d8b8040e1033708987f505e1cc6b2c5c511c20957dbab4f283f12dd3fc5faf
MD5 3095924662a2025681303d69b815bcdf
BLAKE2b-256 c7518523cf2eb2f375009e47d46f0b0b0473abeb9cc515e910a3d86009cf15a0

See more details on using hashes here.

File details

Details for the file cytoscnpy-1.2.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cytoscnpy-1.2.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 072d4c313be7c586c48571ffaaa740a1ad267368923c547887aec0f42397e7b1
MD5 31df652f01b717a37b61409b9e107949
BLAKE2b-256 eaabe09a93a0102905f85ad201289cc967c24c757979ca2848357401733278f2

See more details on using hashes here.

File details

Details for the file cytoscnpy-1.2.10-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cytoscnpy-1.2.10-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 73983403fbd33cd8ff4893fc6c3bcb6163e42ffd86a273219bfd83ba30fc8594
MD5 df62c26ddd81244aa07091e759b62775
BLAKE2b-256 9974832920d984f21b0a683338e89a4adbb32aed1edf0694876b43989b57d236

See more details on using hashes here.

File details

Details for the file cytoscnpy-1.2.10-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: cytoscnpy-1.2.10-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cytoscnpy-1.2.10-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6cb32a978b066a8f52d2087773f494e9273ee485554f1516a9ae2b313104d974
MD5 d53cfd3bb1c9ce764a1b9d09ec2f1045
BLAKE2b-256 49e0a3844106f72386b86d70628b771376229ecc261bc84cbc7bd6eacb81f75c

See more details on using hashes here.

File details

Details for the file cytoscnpy-1.2.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cytoscnpy-1.2.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e76f15f5468b019d0b444f3da7ef41eba01638bba85a44f331b1b641d66c9b2a
MD5 d1a988d5bb3f72cf2c518cdaa7783d4d
BLAKE2b-256 a6441e1c9acb27c13737d838456eefb60709fa17fdc893c93c2d4e60a72e8502

See more details on using hashes here.

File details

Details for the file cytoscnpy-1.2.10-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cytoscnpy-1.2.10-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 78043603ca8638ba28538abc912f1666bb513908f2f6412730f50fddad26db9a
MD5 8d6bcf401f70052cfea576ac0d7e5b1d
BLAKE2b-256 5f6f59b5329aca5095f3d67dd3a5794dd973f5e36c403f15d9c04e7ff87ae10b

See more details on using hashes here.

File details

Details for the file cytoscnpy-1.2.10-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: cytoscnpy-1.2.10-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cytoscnpy-1.2.10-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 80c85db0c69aeb58f5808cbafcbe66a2076105f4bb5c1972a52b768edc54d50d
MD5 b1743f409c72d663aa48702174b48f16
BLAKE2b-256 ce344a5b117cb2fdd41addb495fb8bfd30738104362b975d41faf60654e4df64

See more details on using hashes here.

File details

Details for the file cytoscnpy-1.2.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cytoscnpy-1.2.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8bd60784052d7a4daeb08f10379ac1a46951431a5238c3542ceb6906889575e4
MD5 1f1c283993b7865f1cc226f616a3680e
BLAKE2b-256 cd7780e701dfd3d2acaf0fd3c0bde3070cd7b85ea01524ca674e96fc19c0f34d

See more details on using hashes here.

File details

Details for the file cytoscnpy-1.2.10-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cytoscnpy-1.2.10-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 efa099605a1c28b6f9f31cd4565daf1ffe510262b56ad358b7234d0a66b6b877
MD5 076171f5a5b141bce0cdc0508d5ce3eb
BLAKE2b-256 4d3bc6addf869e9b53ddd3bf3af5138cbc370f25f5cf9853b704a362bc787562

See more details on using hashes here.

File details

Details for the file cytoscnpy-1.2.10-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: cytoscnpy-1.2.10-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cytoscnpy-1.2.10-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5bdc55a62c9492273b91d5224b5c4a5c5dcfdf39425d7762f1f27f8b2ec0d773
MD5 131113d9162639e92cc827db6578a434
BLAKE2b-256 e3f0a56ed9c80f4e5a1037f43b74de96eac3c3a97eebc9d2157e1a6a02254ece

See more details on using hashes here.

File details

Details for the file cytoscnpy-1.2.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cytoscnpy-1.2.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4a6a8911a5b8b391fa5486edb21b916af1a48b8b03696e0b96f72c0aa037dd57
MD5 ab6b492f0e1cba6c7341845f02ad4113
BLAKE2b-256 11707445ae2759fc0869d712fcafa1b05906850771be0d65f7ce782e1ec3dab9

See more details on using hashes here.

File details

Details for the file cytoscnpy-1.2.10-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cytoscnpy-1.2.10-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 df9100a90f949b5fbfc9922ad8a0e290e815a430ec13bb08cfe9d15f4851d2bb
MD5 8a6a9b5503b9e174ebc8afb11254df2f
BLAKE2b-256 fe7c54207e4d1c0f6b0b54dd0058b5e1703b065c4fea068eb68a07742ad9fad2

See more details on using hashes here.

File details

Details for the file cytoscnpy-1.2.10-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: cytoscnpy-1.2.10-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cytoscnpy-1.2.10-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 610da4cb0ebcd4d5da91dd40240f013f75cb41e56969de75b5fe3d90f6f6ead3
MD5 66775ad40dcd4c562042b8b1610ed86c
BLAKE2b-256 ee5bf195a6f41d3f067eaeadba7845be5b656acadab3669c674f7e9276259b4d

See more details on using hashes here.

File details

Details for the file cytoscnpy-1.2.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cytoscnpy-1.2.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 33b6f5591c8b5d76ced68c6518bc0c02c943b85ff7e3bcd3fa35e5d152eef6d1
MD5 080d3502c64bfe0d97bd63eaaf319c99
BLAKE2b-256 9253c962681bc2199380e700b70a6a9d30681af469d0267963f41585728174eb

See more details on using hashes here.

File details

Details for the file cytoscnpy-1.2.10-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cytoscnpy-1.2.10-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 02ec6d8301d6aea6fca1e26a572bd753b7ab17cc5450418f00511a9f3426d779
MD5 bf10d62224c72da89ad37f037401cae7
BLAKE2b-256 0465e8f7cc5a892b50b5da43b76b9f7eabe43a77f3dcdcde065f3ebecc8f65de

See more details on using hashes here.

File details

Details for the file cytoscnpy-1.2.10-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: cytoscnpy-1.2.10-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cytoscnpy-1.2.10-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 8977bb83c21f0dcaac80fdb5a79a130e784b78440984b804ef14662b18cf7187
MD5 4a4c5a7603ad4d05c5d5ba41d03b2d62
BLAKE2b-256 6237f32dbd64584895e9b3c56d4c16a2e56614ce79a1250f294e25c1a81b01df

See more details on using hashes here.

File details

Details for the file cytoscnpy-1.2.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cytoscnpy-1.2.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e388651bc4ebabc3450ea0d5de6ac28d0bcbc4b6a3cb46cc83fb3191bfa7273a
MD5 8a7518b836ad3143aaeabb8d671fa9b2
BLAKE2b-256 2fb3d42902fbdf294cb47976582a3d60cc6003a07a3a3a8106c1113f5ea48c07

See more details on using hashes here.

File details

Details for the file cytoscnpy-1.2.10-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cytoscnpy-1.2.10-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 88c86377160312993a17da6e4e4801bf5c2502e2ac6a66dd978e183f91742e7c
MD5 c7d10dc31417e32918fd347ff8a25316
BLAKE2b-256 84f623e7321a632aefe528e9cfec56dc527c1235d0e283edb8123d484e137009

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page