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 AI Assisted

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:

⭐ Star this repo if you find it helpful!

Developed from scratch with assistance from Gemini AI.

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

Uploaded CPython 3.13Windows x86-64

cytoscnpy-1.2.19-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.19-cp313-cp313-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

cytoscnpy-1.2.19-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.19-cp312-cp312-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

cytoscnpy-1.2.19-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.19-cp311-cp311-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

cytoscnpy-1.2.19-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.19-cp310-cp310-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.9Windows x86-64

cytoscnpy-1.2.19-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.19-cp39-cp39-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

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

Uploaded CPython 3.8Windows x86-64

cytoscnpy-1.2.19-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.19-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.19-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: cytoscnpy-1.2.19-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.19-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2ba49c39523e12621b9cd66f55b89dd865bb759de95492b99c723a108346ce19
MD5 91d206fc24df4a7979f90a9b3e408c0c
BLAKE2b-256 41c9190b0d76b392b7e2912e3790650a670e3e4a436075bfca3a52abe1c20c3f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.19-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5a0c832f9864d42be15cf3221a014ecd0ce0f6d1fa03ecff8f74789e6b973ca7
MD5 341f31524537e0ad727c630738868751
BLAKE2b-256 501be726ca05c88e2ed4827f468849459a9af27035ce202a9abfe2d66c096909

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.19-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 245349536c2397a70b4a113aae514b8ee05309c43badde0201080f6b7a5c56ac
MD5 b15e25efccd6fb036b0dcefc1f639a65
BLAKE2b-256 5962b43f956774fc82b9254555e10fe1cd325a63887fbb6c7a589a58ba15e0a2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.19-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.19-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0ed204411da62d96fb9d8574c707211d2d19cf83986a9ed73fb1b02340e8a1d4
MD5 820984db982b12f83058873afcdea4f3
BLAKE2b-256 03c61c11448ed70cdb35e47edd32b9663b0861475955fdb84699f6482ffc7f11

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.19-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0799467ec6497d238607b43ed40d2b2a4ca38cc0bb6d163ae9ccbe414917f47a
MD5 339c942c6bc63fa376fa05959fdc2422
BLAKE2b-256 95ec3db64667f174963226d29731e7c064c638dac2af0e2e8f281bd84416ade0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.19-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2031dde480a4bbc8b6f84f75330f5209c9ca9b917d947f5ef8497d5ea2c54a04
MD5 ac46a3388e75523c2822dade341b9e6d
BLAKE2b-256 a615ce90ef6e6c4a6106fa14d00372f22f1ca41a9d0e7693990a5d2142b5062c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.19-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.19-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 55eb7f05d3ea8fec9844aee00f64a398b1468f8cb642439639fb10172be7257d
MD5 456cea66c82c4ffc95b0c41595826b45
BLAKE2b-256 bd77d75a73c15e25246cb135ef49d5a70680df043a509afdb131a2abab891622

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.19-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9987ff80558e3aabd9279d8fbe30f7b6dde9e6fa3a957644541e2e61bdd0a19f
MD5 5e3f97065a12ccb2b8afd24972621467
BLAKE2b-256 0997ce3f214a2f5e8d90b871361311be5e524a4a2cf59e17592f1d343bb5ed3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.19-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 de9069a41163f89e600cb585b2c45aee58f64473dadeabe965ba22b53458a832
MD5 f59b771ee559a28d66ef15cb7765f430
BLAKE2b-256 5cf76ee05accbc769f7198b7d99c1aacf437a09d845dc923ab868a9008eda0c4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.19-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.19-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a7005b3bc284e54cc128a61fc5a9805692f12e6f2b27aaabb0004454d0d1fd4e
MD5 ef6ce3f70a3ae9b4a67dd34a3a15271d
BLAKE2b-256 506d0658851da36521758de5f1a7b2619a2ed22662613639d7e6c2b49f1f55dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.19-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 10e4d8492e538a378757c3166e8071a7d2100dc723f6de249589f8dfed98e2ce
MD5 94a2b8f7c7bf07ba6f80b2affac5c4a8
BLAKE2b-256 a2761ba208ff983c714c2583a5ac67d6912fe7b7ccb3de145d9122b8bea8b1ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.19-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 23fe25af37b10eab916ec3d1e7ae264d764d48832c37a294f357e4524cdbee71
MD5 88392101a5e37f3bbdc2bdb01752674d
BLAKE2b-256 0006caf902c54a9b2ac6f6efd8f88d83b071e21f862cf3c79967215425aa49e2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.19-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.19-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 e2a828147f01cb1f1ab6e6e8e489f68aeb88e1621f3eca4e3e076ad87fdb8963
MD5 86a75da4127ae4b2ffb2c8deab05795a
BLAKE2b-256 407673453384ef65585474c61e0e82777ec9386462bf272139f0a013488c28b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.19-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 515733690152a452e4cd3637ea494abaf72d20fc3ca43d451800956eb2d0b5a3
MD5 74084ccb28c6e1a08a6f0a90766652e4
BLAKE2b-256 18c386e1a95bb32a0f0e3cf33df06d0637f2a9b9610514b17aef88f4185b22f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.19-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 afb20e9f2ad114eb72f0223ed9dbf4c6279157fb2f428dc2cbf4e24519dbb078
MD5 b45ee1d8d6a079276fba6fa96295e630
BLAKE2b-256 27ef32696437f05bd0e4cf3ef509f261b2dc7bdd7386fe88ab8db6cb56d6fcaf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.19-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.19-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 7be1b385751039429ec0fa1f3387d7c99c29d4320ca3dafb2e56d2800067186c
MD5 cf314f2196e61b0b2b5a1d7ebb28740d
BLAKE2b-256 b1891e6457f6153f0a093c16fc5e280b94f75030e3b7fcb5d709aa1e868d26f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.19-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a6439fba77682084b750c1e2db05bd4af9b0cadb6c8dcacbc94e295ea83cb75f
MD5 27157794ebb62dff9de0373d1e8551b0
BLAKE2b-256 df44aedb1eb9e64c97831540a35dff4a4f9df06dd0046f499bb0fdae3278fd0e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.19-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 68779fa9236fce72e003fec0a014635daec85617c930fd9b2b0c7c17f8bdbbc6
MD5 d97ec206a63d683812ebcc4b3a76eee7
BLAKE2b-256 3d73fdf4c536df7ad60268a498d471dbc88f75a60fa8b9418074a93d7fc45179

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