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

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 = ["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.23-cp313-cp313-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9macOS 11.0+ ARM64

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

Uploaded CPython 3.8Windows x86-64

cytoscnpy-1.2.23-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.23-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.23-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: cytoscnpy-1.2.23-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.23-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9c0b6e1d58f202f282d3a3483b9c62c155100e1569fe442e1878ee84a3ebdd57
MD5 843d82441fc11fb97208d8fff67df6d0
BLAKE2b-256 9bcf1845247571fbc1a8886298ff5dc562970c74845c9d41968bdcad619a99e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.23-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a0e0f8909275f6d389256ba4d63dd594758007f2afab0160fb276a5897009909
MD5 8c1923571bd7f589c55b5c8fba918f5e
BLAKE2b-256 1827496fc126e714fa8bfe927e135721697da5f842d7ad02c771e4894c540098

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.23-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 35a5e63d24bf07ad2156b86bb4de336a0a7c6930aed90870b89a80c8fee935b5
MD5 a448938fdebff5c658c5a6783fc499dd
BLAKE2b-256 077eb509d51301904cf56d475b0811c003ca7c3aa7a1fd6b18bc70f28cb6efa8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.23-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.23-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7092aed7fc3671787a8ebb3e68c5c04796e0e9998a0c400891394d184f5c3095
MD5 c5fea9c4c29cd75ac80e4da910d451b2
BLAKE2b-256 7659657f18d9c28cbb37c330c88379d87c4389db099a78126a2f94d903e2bb2e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.23-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8d6f2c4d52eeb26424cb5a288b9cf7e2a70f7a0d9a4fce2f9714c3ddf3fcf32a
MD5 44dd045953714a6fa2f820f1aae5a66c
BLAKE2b-256 07aced4adb06086343ac3be6d7d90b69bbceafe9caa673f80476b753e06dc679

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.23-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 431b0f4dcd734104ef7ccc3ba832757b504aa33014a509e42f204cdd9f522609
MD5 7c95084de802c329f336d733afbb56f8
BLAKE2b-256 22e8c1971839a545219caf9217e157f4e2add08bf63c0241b5d7d4f5a44b0a91

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.23-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.23-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 bdb3aba8cce86247f5bb64390dd4afb918fdb48281580b17e0f4863f595517dd
MD5 5103a7732f8a71650a7e4472fb64d0a3
BLAKE2b-256 531697a636ff70f8ccecefdec353a9644e969629a36ec0ffa88c857db3d752a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.23-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 17f78670e4a94c7dbc1b97f6e55f9ebf978107cf811f1ad5a8901e14731b09e8
MD5 d424a30171003394c5c03a8412b2201f
BLAKE2b-256 e67279322e97aa52ea446386386568ddb6fceb564e9dc7bb909ab6c152e193aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.23-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0afb117effe01b22caeb29bde69f24d0bca2fe599c8cb2db7c466fd51d48da51
MD5 e15ffaa6ed14d341f3b883806703d2ad
BLAKE2b-256 cad791ffe0286b55810a49845d37e989159c660b59de3aaf1abf0aab3a12a021

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.23-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.23-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ee96db6deff62ef5e0d9cdff3cdef64edb3aa5fad868e8ce3ad293129a8a6b48
MD5 96beac87ce1973b851aa981bfc16719c
BLAKE2b-256 1f9f42a8601cabb67b2ec1b77855e3ec09b5efb4388686715fea4abbed033ad0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.23-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bf395e462ff8241d7b883ab6ca56038bcbe838753a8d416fa27d4f4ae9641329
MD5 93d1b101afe056913f166cca1383da9d
BLAKE2b-256 098acfc3d11338f94560fe9fd18bb22c82fd77f5fdce225057223a9d90db5cdf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.23-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eb7c6c421ca33f27f295e3bffa9b78bf670c2bb5065870ed15cf7b9025f39dc2
MD5 c3d276fe9e9e90cc05013f508afacdbb
BLAKE2b-256 3414a7ca95febc981f69188cfdd2ac32737060f5591a6c918a6ea4153ab7ebdb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.23-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.23-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 6d504c717411138a98f86b78b02b03e738b460f2cfcaa47db417be52a208195b
MD5 9cc5d28510b03dc7c34be9589141a65d
BLAKE2b-256 ba2cdb2c90f999193b119127d926b6adec073d967bb8cb8035c4a173604e95ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.23-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 22184b501b8794e509455b5fe6164283eaa5a8120220a61d431c55a836608344
MD5 f6e44a55de4c5d6c7b4b514b4f524c11
BLAKE2b-256 87a84074cf28be83561948ba61343d51bb58371e38764dc8340e392892f155eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.23-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 de8f22325292bbbcfb67d5f77657cfea58661b61290da7ec5c2d4a02cdd7e147
MD5 5d2ccd72da6ed2b3b442924e5081cdfa
BLAKE2b-256 c28be04f0f02efebad2ed1063afa010fa869b91d69bc3e76fb91a171fdfa80b7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.23-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.23-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 973daa4d06e9caa4a791fd69aade66c8d71313c44540b78c479a2deb98192af2
MD5 a4fb5de9746e32195dbd50a9f9663e2b
BLAKE2b-256 4552f2c888394ce9f2822a5a7724aa8a8ad6f7820f7384ca1a3a39c582f9b538

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.23-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 68784b22e06c63a8f036c7337ba6a9fe8460aa0b2d132f1d30ca62ec16694534
MD5 4989573525f7467503258bd7d9009873
BLAKE2b-256 707efce78a9951b06a31558ac375cf52866c161322fa246d745e5580796eee0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.23-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e592f90115abf7aa8a236ebf55455cda51a97fe91a17bc33ceaa1ede50c6c3ca
MD5 e8bfd9b27e4516ded463e0a2910dbbae
BLAKE2b-256 3f6171fbfba9f971c3f35a528f462f62e009727d926faf1d344cae3420a620d6

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