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

Uploaded CPython 3.13Windows x86-64

cytoscnpy-1.2.17-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

cytoscnpy-1.2.17-cp313-cp313-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

cytoscnpy-1.2.17-cp312-cp312-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.12Windows x86-64

cytoscnpy-1.2.17-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

cytoscnpy-1.2.17-cp312-cp312-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

cytoscnpy-1.2.17-cp311-cp311-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.11Windows x86-64

cytoscnpy-1.2.17-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

cytoscnpy-1.2.17-cp311-cp311-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

cytoscnpy-1.2.17-cp310-cp310-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.10Windows x86-64

cytoscnpy-1.2.17-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

cytoscnpy-1.2.17-cp310-cp310-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

cytoscnpy-1.2.17-cp39-cp39-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.9Windows x86-64

cytoscnpy-1.2.17-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

cytoscnpy-1.2.17-cp39-cp39-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

cytoscnpy-1.2.17-cp38-cp38-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.8Windows x86-64

cytoscnpy-1.2.17-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

cytoscnpy-1.2.17-cp38-cp38-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.17-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.3 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.17-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 824fce31d2eb6dcdf2e6840479684c448eaaddbbae5cc243a7ece14c6e0167a0
MD5 dc21cd42a72585d474313c8e03d25098
BLAKE2b-256 39883c8f793fba843bd3d612c2120741b2b1153325c4329d5270880f19968df8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.17-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8a9dd765755f51286ef3cdf41f9e0b92713ddfa1a9fae530eb863539669de762
MD5 fd1c6e0eea730cb23bf69cc106503c24
BLAKE2b-256 c74db17d655af05e03cefc2fd58db81f9d25f02d3dd22ac1fa74655239fd0c52

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.17-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9de7a609bfec18abf293db15c541408d6f632df60243315bef201b505bdf4a76
MD5 f27bcdfda880c0abf5407564e7d3e7e0
BLAKE2b-256 2665322ec0a974a6c5d1ced29bc277af9c48f3032a752ba5b6c5d249edf642c4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.17-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.3 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.17-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3d98da38bb066f87cb7e1c19dec9f981e83c022e1e35f4265333cef80340dc3e
MD5 44c54f39f28963183f9dd91385accfd9
BLAKE2b-256 b3c48f6573397c3c64e6a37cc76da1ee4de16dbf4cd36f23c15cb77f0971eceb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.17-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 126d13d14d39841929b0179cd31ade73ab886d68344190993be5bdf98e9e5eef
MD5 b48840ca7321755f12d84a5b9464f7fb
BLAKE2b-256 4e4d3d632b37790ddf9372249734acedbd652085723c30f737df9cf95320cde2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.17-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 62445b6ea15a4a4cef4f022e793bcd955c52c2f241897be886917da6eef121ff
MD5 59c04ba7cb05ea829f726051291242f1
BLAKE2b-256 b63d5c4a5b699c47fcb0bc26521ed967da256f52f406fc46aeeaec6f8dde1adc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.17-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.3 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.17-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 36e1f2ac35845ae7a35ac505b610be311f46cca25e252c7be359059a75d0de81
MD5 262923554a8cb7d2425a9996e4459d1e
BLAKE2b-256 458798140bb765a896e1674f54113c19ca8cfc2ac1d816dfe2022604e6bd9cb4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.17-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 929353ba19ade1a889508e11636845bc1539366d9fbca59965f06d407a76b40a
MD5 5b80dd10987058a005058bc0eed9e866
BLAKE2b-256 be9fe05e6ea44c66ef7518e494f36c8353a926326232801d83be813ab3d48534

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.17-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 681603b7c5be25d3fad91f97ce6d048c6089921ef5fc687987e49bade81d078d
MD5 8b6a89354b97877e169032928e41f7df
BLAKE2b-256 03ce8916e3884e567f2af89105ab3b2819f476bfa0a9c93a9c4076f1d484eb2e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.17-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.3 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.17-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a689ba855cdae39a3236631c4379c8d41d38cb18498cb5611f01463c2e7ecbc4
MD5 dac7084eb875c926f2b57340fc0c5a86
BLAKE2b-256 99163cc755b3e32f9759a8b197dffac7fda90c47dc2c7d53f658d74809f1abd0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.17-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 36f12383657cd356deb079e0078291a7c6d7de5bc70deeccf54e4e6d77bded04
MD5 d0449e207bb910b9e421b6239ff5d5a0
BLAKE2b-256 255376e3671d5e5525e1067b046824ffedd34c58bca80430ee5ca9c298d8e4ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.17-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 48511683d1e711ade4ad1680066a8db9b76a87e145192cd3e504ed6dd590c0ff
MD5 e5cbb957bd5e8afa7419aabb17025bf1
BLAKE2b-256 e4e232c40d4056252f084f629870b8a926cc8cd1bbe075416cb76b781bbc5a57

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.17-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.3 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.17-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b48ace604793e80e124aaeec72a6e6184f6ce57cb24e008524afd40d27ea6963
MD5 b2b98f44ce19e7633d5000ed462cc561
BLAKE2b-256 2ef9557467b40fc4e5a13225554e14357487b81824922a7c95fd92d11a7bcee7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.17-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b2918b38fc27ee9f70f36126811b89088fe8ccb15906e85b2b4f4e9868697f81
MD5 36387b69d28e0506873b90dc19bb55af
BLAKE2b-256 b2c32ac92002b8ad170d0725697a1a1973a2760d08d80387ce3094c5c09c4fcf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.17-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5224002e1f8f179499ef3bac678b56f0051ed1ee0b9d57b24a1c333b94c6b7fa
MD5 2812073bb5ea617203d8c0dd4ca72d3d
BLAKE2b-256 f87843b847322fd883da745da9bea4d1abd3685fd89e5869e1909bee43a2bd9a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.17-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 2.3 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.17-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 f0ee63fac4e1929f712e38f330d3450bed9d85b58762ac5ae33473ef7449f8cc
MD5 38deed50ae3a8519c71939f10a28276a
BLAKE2b-256 8659152a1fd51178785acad85148f07c9c22591ca7533a57d43a536e065d416d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.17-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 514be7a855c0242da37ee6f3c63e2f25ba826b33cd9220a94059fed07a9560ea
MD5 3b05a24f46ba4ebef31825a4a7db1e09
BLAKE2b-256 f6fe069b12655d23ef42608ad2f3e390a12b0f174b54e882ceaa061d11e5929a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.17-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ed8208c9bbdc7e084203d18cd0ad607912becdbdf324b1c9ef25c924d64d3a06
MD5 90df4bc927c85d20915dafba161040a7
BLAKE2b-256 5e3c1e5b971d0e10d95553a731c27023ede3823653951ef57d7d92e4f30d82e3

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