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@v1
  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

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-on-any Exit code 1 if any supported gate finds issues
--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
--fail-on-secrets Exit code 1 if any secret findings found
--fail-on-danger Exit code 1 if danger or taint findings found
--fail-on-missing-deps Exit code 1 if missing dependencies found
--fail-on-unused-deps Exit code 1 if unused dependencies 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

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
cytoscnpy deps .                   # Dependency analysis
cytoscnpy init                     # Scaffold config in the current project

Dependency analysis reports CytoScnPy-style hygiene categories for missing (CSP-R001), unused production (CSP-R002), transitive (CSP-R003), dev dependency used in production (CSP-R004), and standard-library (CSP-R005) dependencies. Development dependencies are not reported as unused by default; pass cytoscnpy deps --include-dev-unused for stricter checks.

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
# CLI shortcut: --fail-on-any uses zero tolerance unless fail_threshold is set

# 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 = ["CSP-P003"] # 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.

Contributing

See CONTRIBUTING.md for development setup, testing instructions, 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.24-cp313-cp313-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

cytoscnpy-1.2.24-cp312-cp312-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

cytoscnpy-1.2.24-cp311-cp311-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

cytoscnpy-1.2.24-cp310-cp310-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

cytoscnpy-1.2.24-cp39-cp39-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9macOS 11.0+ ARM64

cytoscnpy-1.2.24-cp38-cp38-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.8Windows x86-64

cytoscnpy-1.2.24-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.24-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.24-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: cytoscnpy-1.2.24-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.4 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.24-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 dc4ea80dd52cfee622fc5e6d88a835db572e1a2e4582ac662dfd57234ca98820
MD5 be55cfa20c5d3c0425faf717671e2d57
BLAKE2b-256 98887b07909540e529360e48f344f79d05f7ffe8e3bcaa021023ceecc9112032

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.24-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6e019a0290bf8c5fe2bfca0d59d01c7d5c993b7766d4c8d789e21e316a2513de
MD5 c64ec152b10e9d7378d9f6e9b3614e70
BLAKE2b-256 55d973dc0ca55e2d51a8333b90735f852a57d406a1cb6e0a247eb5014e837d48

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.24-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6ee0a9fb14c5b72a8be391bb69b4d7625e0c98b1aeffad3909722f5ab143b448
MD5 495f9d2c4d3a31b4761acd1f9bc71465
BLAKE2b-256 8b76d23d95678f56053429b3c620939b5ed47b9326cf51662093f8e8ba97909a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.24-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.4 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.24-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 87d375edab5df28cfeea4ed777dcc6fff3a51dc20a23523b01bc6cc99aa3cfb9
MD5 2a31c67e0a4586ece667ece740748211
BLAKE2b-256 88707bdc298bcbf08d35b5a4346a4168d52d6245169926ff396da8730a6380a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.24-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6b1f12ca7927ef97ab442d7ec13451c2dc034f5ec9d6407ec9c9174d7460a1ff
MD5 287ea037ba9600cdb051f9fed1f4d157
BLAKE2b-256 d515efffada67a308b4d13c88ad67a13f2d9dc24c2e0613aa870c5b9ae6e4f1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.24-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1ac28d2f804ab14a82242bd2fe78d477354f824ded7e682f608660164df1e429
MD5 818e9831fcfc2d99587e01481ec27e71
BLAKE2b-256 fe042f77251b4e374b3ac65b0ec48e2b161e0e10b485b42e054d0604ca5dac72

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.24-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.4 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.24-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8e4d42de714c97058dc664857c0b80aaee30ce9404edf835ec221e5082b46754
MD5 0416d7b3a3a5044caea8e9387331ed52
BLAKE2b-256 3b2ac43a748febd4e8df62e2ca852fd418b3a6e1e03bcb7f11d78d69087c6747

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.24-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ec39dd997d06b3e502ec6bf4ae2fab1f9c8c717f3913c9be85a3178c497e66ea
MD5 6c0927ecce64fda8a4538b381a9492e6
BLAKE2b-256 4933bff057d4530f9a619cc702c08f1389d951403e3556357e467692675639c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.24-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3b8d8cca59fb6563dd9cd7242d393545b550de5c4d957dfe7caf9883fd6c7393
MD5 3687eec5746dc521409806e8412c7807
BLAKE2b-256 5e49b87013394b1b0478ce5d1f3c2bcfb909864b9909a13845c590ed0124f1c4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.24-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.4 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.24-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 86cd8c20d97b5c9408cbd80973bff3623720407d434479eda290bf29f135ca0f
MD5 c01114279b6f8d8665f7607874eb24e7
BLAKE2b-256 a37ff3bfac1147f689eff9983affca2af647e66df08f2155a7e92a1a1393d0e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.24-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9367ab6b167a0469ff7d648e9aee1d8535d1b90216a2d04a72edbd2e709501ee
MD5 24f04e8ecab768e146ecdc9e2d5af2bc
BLAKE2b-256 0b01678d1a21967270387afedd67137a03a26303f3287e7d503fe727175286fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.24-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 13bf3535dc5ca20e2a2af15ffd1a0e555bb1e0f7324d7b8198f53547d59e7380
MD5 ee88190ebeb7ea896045d26fb297013e
BLAKE2b-256 003cea95052f2616721bea3dba5579ecfda6c49aa8fef7d2c0147255b7203d93

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.24-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.4 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.24-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 fbd47b10d7d7a0d0cdbaf50d07d2cd34ceac8763915425603ea7c5beee2a01d2
MD5 fd841517bc9d6faaf6e6c5cabe257944
BLAKE2b-256 34084ea9a946e2b380fefc1212946317617147f4014ad343088dbac25c0f305e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.24-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c8939163e2eebc7c028f837b2de395a60c424624b65b19e784757c036ec5b0b2
MD5 a641c4c4a24d1adb11de62b6a5e38508
BLAKE2b-256 2d497863212f85b8ea65f9ffa8425b21d4084f03bdbd11092ddf1c2e3d22b771

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.24-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bb4b4573fc93dd38f963e21767c0a3cd80550e7d0843cf39b90f9bd2322372fa
MD5 12c8eea8ce5c6e7bf2da19a83b6f2b9c
BLAKE2b-256 ec9d7659c93d1452fa75b0c5da99871fb151e261d4ace07e0e30779c17a66125

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.24-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 2.4 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.24-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 31d87b2fadf1b62603275e2730d9a64709f01e99230be7591b6ce325bd2a0b96
MD5 325d06a2a0c42e906b1e14e517f392fb
BLAKE2b-256 710737b8b9fec5b9e12109fbd6308bfeefb4bee7f142fa425218e1f505c5d04d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.24-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fc23a88213a607664c696e2f4e76f48ba435410e5c7b57f329d1ba7f551eef27
MD5 1adaa114a03ddd23fe43995c11fed0c0
BLAKE2b-256 25a3f1c72f8f832852634b5f8c5d054a6b26f216f4a13dc004357552925a6169

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.24-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f2ca00593a6da7326efdb25e92c6d8c7d960cb8421b26ee3769a82460a55ebf7
MD5 cf850506f16ddaaae36ea4e34441c18a
BLAKE2b-256 632a8564d8270ae087fc9bcf60c30d3f981cfca4c33a16fe60b1c52ca9de9c72

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