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/djinn-soul/CytoScnPy/main/install.sh | bash

Windows (PowerShell):

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

Via Pip:

pip install cytoscnpy

From Source:

git clone https://github.com/djinn-soul/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: djinn-soul/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://djinn-soul.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.21-cp313-cp313-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.13Windows x86-64

cytoscnpy-1.2.21-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.21-cp313-cp313-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

cytoscnpy-1.2.21-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.21-cp312-cp312-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

cytoscnpy-1.2.21-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.21-cp311-cp311-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

cytoscnpy-1.2.21-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.21-cp310-cp310-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.9Windows x86-64

cytoscnpy-1.2.21-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.21-cp39-cp39-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

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

Uploaded CPython 3.8Windows x86-64

cytoscnpy-1.2.21-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.21-cp38-cp38-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.21-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.12

File hashes

Hashes for cytoscnpy-1.2.21-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2a2457537c7b1312e4ac19548c3ddef7a00a4d1babed6a2f282f8d1aeaa390e4
MD5 eb435c6a2bd3d7611e78f285019323da
BLAKE2b-256 a19afaca148ac799aeadc328b74d9f87fbdf9c15d327b8d2c06a46a018d6b607

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.21-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f3d93eb2d8e53045cd4c55df83d0fd4a6cbff942805da3e82b5cba2b121d2d3a
MD5 f87f68f6c7e8c9b1f98314fe12ee24d4
BLAKE2b-256 b605bf230009b992c4ec41041a5910eba152cef00edd51a5437f5c507987507a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.21-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 af49657aa6d6e5e56a6d653a99dab571ae2dc8ca31e06066b933f8980f253b93
MD5 1da3c0c51b4c6e3e71e4770ed887648a
BLAKE2b-256 ad07ca1f516e2cd27a10d9ed9339ff2f754b8406e76ea5c1de91b4baba64287a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.21-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.12

File hashes

Hashes for cytoscnpy-1.2.21-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 047487231903b3065572a1b68957c1210f8cf9c9af5adf04483aa467a6daea82
MD5 30964accad3a47b5c4c2ff8c72124473
BLAKE2b-256 7e8ca4dc8c3eeca52d520c2895d8c1b4d07ea57604b73c51fff6e93560d09b46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.21-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 69429eec448fa76614189ca66bba20569adb67894c8266a539852e47a5f59569
MD5 66a44558da92c65ed77a0a9abe9bd257
BLAKE2b-256 f945b3112e5cccc748c6cc6e8d21c027e1721875227e95db64031178c56ab5cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.21-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1f20fc00191c1d3a49bf59242991506e622d49143735c25ba42a111500e29628
MD5 8d271f0b7fd673c83bfc4a096e7aebe4
BLAKE2b-256 63026f69e2357a310fe76cd93ba2895b7a534538633452625a81c29948277b93

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.21-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.12

File hashes

Hashes for cytoscnpy-1.2.21-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d3096ad85f7afbb595a428fd0b4e24b7bd45fdde6c9700040d49e94b89ce30a1
MD5 ccb2d04230317f98179681a2c36c2d81
BLAKE2b-256 abdfa924da9b89e984643da67533f20afa9eca5d377b444de8394200c7af63ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.21-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 086584b86aa9283e3ebf8d2d46d31d44b824505873c81ce902f9787d0f7249cf
MD5 00c78872bb07e326a5f379ff5b62d62e
BLAKE2b-256 bf4f97f4d5f6ba39c3a7fde5d27e2164d213433af0ca3d6e7ea699a624c88c45

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.21-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4da9e30b5ce9db0807e76d0b5300f6ef3d6d698bcddabd04656609d1ef97c225
MD5 117477ae37ac69d93d766908b2a11378
BLAKE2b-256 acbc3e81799e0646795b1aacce698395311d5c99bb486d5081d4bb8a223a59be

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.21-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.12

File hashes

Hashes for cytoscnpy-1.2.21-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f58b29ce2dd0f00f20a71d867c3325256b9972d2af00f1194bd0ab2304f3925a
MD5 9b770a353aadc74d24f7e7867adc4ca0
BLAKE2b-256 c88918c000d3eb6c3880119fc8f945e87df354390116e3f834a17acf061fa473

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.21-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 94be60d932e1c2c365971682406fb3e42120fdf2fa5ac77f88382e087b972ef8
MD5 108433fe3583b807a56d226bcd10af1e
BLAKE2b-256 c3a72c08cc4baf68760465b2354b420ffe2b06e971ae5f17230f051b58ba123b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.21-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 877ee8c455cc15240b57389d1f074c51ded1a7095d7e56451773f7956d156d2e
MD5 fd35bd69ebb16ac92c92253b4c6fd0ba
BLAKE2b-256 665d5f761c2d0236fa476e40c33a96a7f7b331afc904ca21dda2ea9a0d6cab0e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.21-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.12

File hashes

Hashes for cytoscnpy-1.2.21-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 290afa452fe56b28f511902a15bf54cb9c4c13a1cd7a0961564d6828569603bc
MD5 bcdf0f7b80225475a2484825cf032850
BLAKE2b-256 fe073ada87b535f0f3121df884ced5a351f99cddd3f88cc7746540e98c41e875

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.21-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9585f9ef9ec70217f12366d2fb680c8dee7650cdc3aa33bf067b6bc8fcde4c8d
MD5 e69bbf8e51289549b698f1fa02203dc9
BLAKE2b-256 d5fa89d1a44de60500b88c50aba3ae118a962da3eaff6e313703a21d48c555e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.21-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 88975cde61da71bc14795b0bb525258ea0705256a81ab3114aa496fb45153153
MD5 952dacb7022f617a134f532c95de3436
BLAKE2b-256 76599442fa8c80801aea55a6e1fe4baedbd17564393c2fc906761ad08604ddd5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.21-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.12

File hashes

Hashes for cytoscnpy-1.2.21-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 5c50cb8598a7a357761fcf3b85bf76fcff933eb0fa0d82fe114cd721e3fe9415
MD5 5bc7d03629dcbb751dd62fd56a214710
BLAKE2b-256 5876ae78106f08460925779ed73fcfd48cc9e5eb97bebe1edfcdeb68b260143c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.21-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 295678cfd3b52a24b946ac195c2d0f130188e3463022b78e0d29d3e6c419e4f5
MD5 edb458cda0c0fc76e41b5599a696e2fe
BLAKE2b-256 c88bc7372c4857bad7edb0d6c57d49d6de93f8a5ed0e559098e1981c7253e489

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.21-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d56e1c89798c5ddc2641429e996caa7b39b327cc382d942b747fcb7a7e77a763
MD5 ec01b3146230eeaced42774565d321c0
BLAKE2b-256 6ca1ae3d885bb85f7c3f79b5dfcee41a42a24c50a6ba31346512c66f2d015747

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