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.13-cp313-cp313-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.13Windows x86-64

cytoscnpy-1.2.13-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

cytoscnpy-1.2.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

cytoscnpy-1.2.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

cytoscnpy-1.2.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.9Windows x86-64

cytoscnpy-1.2.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.9macOS 11.0+ ARM64

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

Uploaded CPython 3.8Windows x86-64

cytoscnpy-1.2.13-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

cytoscnpy-1.2.13-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.13-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: cytoscnpy-1.2.13-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.13-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 437ed7b801e5a4d0badefac0343c37afc53162de9f2722d3da1aa24188cb1f9e
MD5 02644945814d261a1f7dabf99cdc8b74
BLAKE2b-256 e93c0fa9d95f027a9cd3c717df03ace204b35731e6f3f1407f9e80f0dedb6b22

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.13-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1af4bdd71f4a4018bea0de398fb543ce11ee43484f14de32390e9070e887f2c2
MD5 ab21d6971e2fceb102db4a9ee8e57d0f
BLAKE2b-256 adf115c5934bed4d054c68da784888486573a36c3836ffd7f65ef66ecaaf2d0a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.13-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 10957a44ee10ce1615edf05ae8d034449f39394f1ab06a1e2a7c368833de2d8c
MD5 dd6afd26a343358a62c20a558aebc2fb
BLAKE2b-256 5d3411186e7c9bf26f5705283214e94d1f4a184c39b605e61465d0c05c9bb56a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.13-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.13-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8ac5fdf98e8eac1de3b7986cad76aee2b84c38560273fd4ed0121259d9e4ddc4
MD5 deb53ac38080908d17815eca6b207a4e
BLAKE2b-256 c2958fcdd8589c981994054e3be425c4dfadc4e1cc91a85bcf1165c09a3a9e1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0dd3a21ad0d1fdcbe2356cbc25f575159f370f5f38a33bd01a7178fbff4894ab
MD5 2c2425fd38ffff9ccb46df95957a6efe
BLAKE2b-256 bd4050f3fa6a4af9975933881d67526f7244d32e03355614ea4ada6efbf77315

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.13-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6b438722fe12128b2031069e58568e67b0cdf06ec0096b01d23cd3a6ee8030df
MD5 fa550bb79aef46c43a9efcb5f08fd36f
BLAKE2b-256 686de01aa0135aeb740f96c3fcc88b2e7b39eb7b0ee959db55801964e3c76877

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.13-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.13-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1bd733385079fd39d601914879f8d1bf416a837a27287c8fb954712722d41526
MD5 45a3f2d1b411f920c07094c43712718a
BLAKE2b-256 7a5caefcbbcf4cc2c77e1dced7b32518ee4cb715833ec3e4f48adae2736de5aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0388fc755e23ae22ca7947551e27ef7d66bd41ec2bc597064577f8f87c9e592d
MD5 a89d0fab865019207ca9208b454dd410
BLAKE2b-256 4e317a9d48244f826b8fe7443f7e4b285d522b629e3c0151971c61fefac25474

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.13-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1d600c081f02b226b47753def9f23167ad14eca0292b2dc800e5a9d3b64cb1db
MD5 aea2e287170dcbd1514d62fe9aa45140
BLAKE2b-256 ac00cd12edc8b090963985122471a1aa76aa0b1d84f04cc1c1d52f713fa38e40

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.13-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.13-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 becef5caf9e417022f95ea65176ee179e5d09e2f724f0046778d223b9898daef
MD5 6ecff7cc72fd1ae6db66b2711cbf2748
BLAKE2b-256 783da8935cb8ebf7d035efb30c313414e09afecc4ae0eed175b697814c932532

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d972f4bf68bb15a90e7db1c0c02fdeeed877b930ed08d4c940f1b048dad25da1
MD5 9363582081e3e27d748ec9150411fd9c
BLAKE2b-256 12ebff75e8353a7efa483580baa32e6970f121eddd68c5de655c9a512dc75b81

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.13-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e8cbaaf55932bf4e40a73a4ec90c1a3034b38a8475d6080d1cfae8025f356273
MD5 d4d8ce5ee26e001d95ce250e4f59f1e7
BLAKE2b-256 ea7558a5bf21dc6726e7ad4c68bb58cb6ec34025605319c6dd1386635447568d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.13-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.13-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f6885b3c11c2f3305df2dddc6bdc5643374f5832366dc19db13e77c1664c09d0
MD5 db6fcdfa5aedcd543bfd40535d993365
BLAKE2b-256 059c5f502e2e4a4f21da8cde0c556d5e5116872cc34e22e2477eb18feece4580

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b5b74d7862bff0c08f2f9354e4870096c1e73edccccf04e539b9469dd9f23e8c
MD5 64bc13d3916c6b77238be80786c9b84c
BLAKE2b-256 0175f278486549479669dd7ecb2dec115302b512f154d9a88f60dd4698b0a7ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.13-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0663c3ad00a8a6d97e00517c737eceb7117c7a292344fc194f0c7e06e61a40d5
MD5 287a301abe91e33e42e5ca34d7d2cd3e
BLAKE2b-256 e3bcd302de2cfaf242dc44b68de624ad87b847621eaf30f8c58080c4d8bf9620

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.13-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.13-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ba3daabe90c9618a42d47267e42d1fb5c0456e84b8745382a95a5159a92c4f72
MD5 f99d61feaf4175e59e7cd7f5d8fe89a8
BLAKE2b-256 b1a756abebd2c334341d6f6278ac78e1e19866fe1c91948defc756db9571ae9f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.13-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e66c63daf3e363058cf5aefc04e621d73ae51f2927bcfe2f80de7ca3b1f78a43
MD5 2b4b456cbcfe7f9bc4f6f70c08804fd6
BLAKE2b-256 f8e029b72c21e4a87494064aaff4011a7260fbddbe2b666329f2efa547f3c301

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.13-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 be993c8f2a01b2cd853c17d2a04311a69fc693a5c18d70ed00f3fe6e814955ff
MD5 207ded566a801599779197a425d3cd1c
BLAKE2b-256 36da98c2258e2982e89a089a7be0e3c09d5eddb540b2830eb9a3d64b9ba93e9e

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