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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9macOS 11.0+ ARM64

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

Uploaded CPython 3.8Windows x86-64

cytoscnpy-1.2.18-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.18-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.18-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: cytoscnpy-1.2.18-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.18-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4c3c6f5b2ff532e443f35e08db8430193b4ba50b2481a09947350d68896adf15
MD5 f04c77b02f98aaae4cc559c627693ca5
BLAKE2b-256 83354c649e456d7cfb045b45d0fc5aee78bf4ddd3ad81940d76aba0010c31fd2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.18-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 82517258652e8c390708e8fdba3880d276e944c450349f426550df53519b484e
MD5 894c086423c9820a388745b228b28f92
BLAKE2b-256 e322b3d1ee87d759acb7c28219257cc2ea028576a195d60dfd2ba52d6cb43d16

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.18-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c5d7ad62cb49076f84d72fa686f863a7c400572419aff33f69d536b3f2829eb1
MD5 3d8f21dc64a767a419f534c0d1567bae
BLAKE2b-256 b9160d65a713a8eded4efe358c81e50c74cf68ba3009f4daf6a5875dee24809a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.18-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.18-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0969b5ce0511f1ff83971bcad9063cb7c391b48c6f7d117817fb65688c850490
MD5 14da4b667ad06210570bbb8db160e949
BLAKE2b-256 2201e9b483f78cad23273f99a268c98d7905cd158122507c57144658a3f25fef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.18-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3abfd1d09000c7665ac7f85ae34d0ba1c5bae6471f64c70b6b7fe7d810f881c2
MD5 2f1cef3c0d12feb875109551aa784e6c
BLAKE2b-256 b807e75365d6c6180d20fb83ace98d354642c98076ee62d43e21eb7313c6575a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.18-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2e06fc6a5aa73feb6efd4fe9bca40a548c2d0b61b70a50415f858ff2852e3cd1
MD5 f8724fc47ebaae93d38c1dc91d289a14
BLAKE2b-256 6b39b60d23e89fb2bad13d1e476e0287e9c4c2f3b57f7968e81a5cf48c11cadc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.18-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.18-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 dfd55810fab911cfea2ee47d76773143a8a1ff9e7d9f7716628bc521ad8d5815
MD5 dfaec87e2be1480388285f3799a96435
BLAKE2b-256 4b0515c3f7c824959b374a416b6b6c089f6cdb5015a7c79286d691b9b28e9b86

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.18-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f79452d47937faf06bc4e576b9d20d7d4788296fd25518bb43c33a1327838370
MD5 17c8da208adce56b8b7ec07f79fe5b8d
BLAKE2b-256 904a9ca64b79f8c86289ab6b7a9b7835624caa4e5dfa2c652a7f753005f09ac4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.18-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e1437ef1e296c8accd84cbac71872e6743c10e8fdfd3be1d8e6a01f85946725a
MD5 5060f68091109c384bc8f2d37f3b7e16
BLAKE2b-256 ffcab149ccc94b9cf752d08e5d4f93508a5bc6e2b3f253a2a40c7be251fcd8bb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.18-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.18-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c3d5b296dac0748359ef5207212f4594fbc751821ed9d8a2b2c2d23e96b2900d
MD5 daac655116c4c7a9e3a5bfb624187d64
BLAKE2b-256 a826c0371e69bff595ea9d9fcd000bd18daca9790e05ba00f68c9a5ef13566d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.18-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 087088a190d4ac51e4d89ae3e38dcb1e9a51242c93cbc8fd12e396baeb4c1be3
MD5 3655ad97a99abe582a8a59c2bb6e9c03
BLAKE2b-256 cbd85d6691cb647abbad028bd0ccd7cc39cfcbcfdece0ae4c70ce096cfb74c60

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.18-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 03a861725b6b9aca7dcb574ab79ee3eb3c01476c29734286c8fe4cfda4bf4371
MD5 0691cc6b5d836ab8cef34939d88cc515
BLAKE2b-256 7fd46feb0076d5d898d547cd10a5458b13fd3552f6ee3a5ffe470b1c71cc392e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.18-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.18-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ee74848f0d93ba02d28ae27a6d385552608f8574581f55826b3c448f158034e5
MD5 b02235fe1d6d71261e281a8efebc3e76
BLAKE2b-256 239dbec0a397f3484e640c6bbd8493d7779ede8d95cd992ef0ff3089b8a408a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.18-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a191eda8c3577d8cade7bcdd4d58721bcb052b38377ac078c758e242a025e0ae
MD5 93fbbac5686361304adc5013b82b8445
BLAKE2b-256 7c9ae312ca9bf9c5525733e44863644e80139043111d7a3125f8c0ba65c57955

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.18-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 13eb3605b343ceb91c0e673348f3b6622ceedea448d62ff89bfc80888690a463
MD5 ffc6f5b28b77d331d053babd5c509925
BLAKE2b-256 8c20fdf366efe8185b769a1c51e24b0f9ec70939cbfd6ab9385df9f41f139eb2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.18-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.18-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 30e7f3875a05f10019ebbfdca1866c02f5146b1b7de8aaa24db234fc5ced2f18
MD5 b5f8ed9a15d60c91d70e75b0fa7e048f
BLAKE2b-256 566d755a7b0246f92667d4fc1bfe94c8736000849fcb885b84499544944acdc9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.18-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c5567a6cb0611af5f81882279a124efd1ad52801c1ecc08c955b254183538699
MD5 31189f5eb66d8e8974a52aa24b920bec
BLAKE2b-256 7f320ad6a959ccad3a8a99e6cee6698d294d087b4abd269bf1e405de49a8135c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.18-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f0728807d2074a69fe6ceff75e6452b42589a25a2c13e741b045feeeafd6301a
MD5 2a6086607a6f7e86d4d1b0b921dc2af6
BLAKE2b-256 8f5cf8752cf0fd2789092dc2568892dc287e4ccef3aa99d07f85ab8986d6c7c9

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