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

Uploaded CPython 3.13Windows x86-64

cytoscnpy-1.2.11-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.11-cp313-cp313-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

cytoscnpy-1.2.11-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.11-cp312-cp312-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

cytoscnpy-1.2.11-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.11-cp311-cp311-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

cytoscnpy-1.2.11-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.11-cp310-cp310-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.9Windows x86-64

cytoscnpy-1.2.11-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.11-cp39-cp39-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

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

Uploaded CPython 3.8Windows x86-64

cytoscnpy-1.2.11-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.11-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.11-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: cytoscnpy-1.2.11-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.11-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9f37cc224f2b6dd670a93cf5966231fe5a7ea63260a0cc3c99f008880cf3ce8a
MD5 8df20ecdc1f7eda26e677efeb781197e
BLAKE2b-256 b7f9e56639dde70535b0c8f372f559e510ce1d666030144c7dbcf0729d16c792

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b8b4ebfc98a96457836a669111abf4ed5b3f22dc2782a556fc8a274315b4cf86
MD5 a1d0bc7ebcd188a752fb99250b7f1f06
BLAKE2b-256 2945d23013d2dbfd64f415c800916adbf7e32c425e0836824711ecfacb92c688

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.11-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2bc2d95d6839f38ba22badce8257844b764bbff06ca0ffa74a25cb0595ef9765
MD5 d069436a5d7961876f5ae3fa28c0993c
BLAKE2b-256 0e19b5addcd65d8779f7ff0101dd9469507b282734f0e6af4d5ce90f4b0d2962

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.11-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.11-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8801dfa8c20634bf6d31e50a228ae61d9b05d0add196e9ceb35dbb09f6f41661
MD5 187769f020adf9890d7c3dcc8f97f68d
BLAKE2b-256 1fa35651674db466dc905aa1629f9ce26b5965d8b26a2839dab647aabb21e474

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 76804601f0236e548a32413b410dcea2c65d513be3db72759d0b495f44d09653
MD5 a71ce44465301e22fb755ffadc02c1da
BLAKE2b-256 34aca0ddf493538850ede9805689c791b3704e7143f856e0378bff1b238c2385

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.11-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e7f91c355fd2711a7456096ce83ce405d6b5a27a1721ca2d2ae399334f9a9928
MD5 f9714281abe6ddee52431f690d770b18
BLAKE2b-256 c3fe2aedac0facebe6c7366f54d08c3b3d7afea347154deb55516abc737e95ec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.11-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.11-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 201afb7dca5dc1cd1e8917dd88cf316ad0e53bd4f7bd52ef13a8f45c3bc9dd00
MD5 084fa969d5c4c4440cfd9840ca11eb42
BLAKE2b-256 7b6693b579699cbadeb877744397b7508e272d124fab50d2d6161646079540ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c0da4e9f02451206f5abc33b590af67bf6a81519c615cddfe9bc4a718b40950c
MD5 016df482feb085902abb3bad1e481b1d
BLAKE2b-256 6c22c6d70caddecdc3d87bb89bbed2a80ed5727918c4c36b3c9298dc58edc601

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.11-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a94c0f675d61b683ac617d643d690c73ef10fa4b12276fe7761066535039d755
MD5 07aff95e5fe4a19f04c5e115495aaccc
BLAKE2b-256 a820fb05df98b6381456347ad5264852db9e70abd5908723b9c9aa289756fa76

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.11-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.11-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 cd7d7e97018e410c5ecc8b90916c215126eaea68546844f90a3024e96d4f96cd
MD5 bd0aa6f5c62d6081fccd5284f10bf39e
BLAKE2b-256 fe7a4dada8255fc878c328880db45311ef83923bf27c53648d1aea784c35b352

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3b5a1ee8792c14106c777cae75ecc0007e101a84c1722d2b24bc51c95986a190
MD5 f3e7020e19e791a4c680af64f459d0a1
BLAKE2b-256 58cb4641b28b9832235373a14aa238a3dcd9d10b8cccdfccda82d743158df0a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.11-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4519f3ad5edfae5259b2b6e5f9390248c2c49d7b3885918c480e4dd627fa5499
MD5 6ccac6bd0c52850edabacec6d7e1bf75
BLAKE2b-256 8174542d591799e9842c322ed83b21ecca815d5ba2a5e20d2206d7f653d5e864

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.11-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.11-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 cc3ed012bc2f0f55f73748222bc4e471ffe0154494a61947340858e0fb8ce8fb
MD5 67d73ad1070137374ed54ee627cdd224
BLAKE2b-256 c8012497ba6386d9433ae9d3b284d0a9e36da4776961a929853407480d96cab5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e9447d831132c6fccfbe1148f65f56c228898ec1f9fbd3486d9ebf75f23fe160
MD5 77e3eb56fae643b5c7f6e2d212ab7070
BLAKE2b-256 da9f528c2aba5effc5d6e517a115bc267f62e96cbdc8bf85c7dec937e3d1180c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.11-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2355afe3b650f36ca6275234f6b8b2c09360d316c25fa0dead5d25b097b07ad2
MD5 63194bd664dbb36d5cb072e364f407d0
BLAKE2b-256 0d447af5de2da5d2fa490587cbb21afc18120a027ebc22ea98872ed68adb04d8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.11-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.11-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 42fb59b863227348b39e9e400c24ba1136069fe176a906efcd243c4792cc25da
MD5 6f8fd64b047d7a741dbfe9830ec691ab
BLAKE2b-256 cad0b786e4c96a157e6b32247cddbff8fff4febfdaf48656bd12d41c3da1da09

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fde453b2cff01a331d3287cd917f5a0ad5a20d25d51815fd4024c9741d33c128
MD5 97134eb220d3f0c510582c24f8188035
BLAKE2b-256 050131219308938483071b7381502204625ea3ec2513fa78f7925e90ecec7ffb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.11-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b62652b908a4a055054f8ddf8ff4be0a0668d60e67d5d81b0b4f93f6c81b7e14
MD5 3c993e96698f8415c8a8e7f9d01e88b3
BLAKE2b-256 04904dcc6d0e386b8d86a088989d6fd409ccc11f908b9630765e1a8a4f621715

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