Skip to main content

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                       # Include tests in all scans/metrics/clones

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

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9macOS 11.0+ ARM64

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

Uploaded CPython 3.8Windows x86-64

cytoscnpy-1.2.25-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.25-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.25-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: cytoscnpy-1.2.25-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.25-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 78bbff4f6004c1d7ca1310fb737a993362760d641440c61a4d4b27caf51fc9e3
MD5 d030ac063bb51f33f662a71ba868f291
BLAKE2b-256 1ec199fc1e30c360ee5d9b829602e9ab68af08ec93bfabb3d7f4948c85bac443

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.25-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 11b7950b7c35c1d413c04d0f4aa5b9dc92bc47258a5f9ca63307b16a8cda4b2b
MD5 6b75ce12a4e9cb9a99c62e5b663d0f31
BLAKE2b-256 42c4279a54feeeb563c95864cb10ebe940b552643acf2521e5d7b1b099b8e1dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.25-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b92add3a862838b56463971d274109a24e7ce1b6594a38c82b27f741010c6bbb
MD5 a0389131ee8182e656fe3a2327a0897c
BLAKE2b-256 d59fbb18308a5812170d5a39112773647fb4cdbd5b2d0bae91ffb58bd8925d89

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.25-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.25-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 dd4b615f0e53b6f5ec7540f5f151171dba5da364484ff8a2d6fec0b2bcf1fe7a
MD5 bf2037c239412b0783223d75873842ab
BLAKE2b-256 d3ffcbafe97ecd72623191844c6ef27c877dcac3a5fd0abf8eefc9e8db51179b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.25-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6ed3f6e1336e7b32fcd730881c7bd9fb493d692e1c1b0212211c9d5d9c8a3bb5
MD5 5374c4a90c8d081d501992a46cc49d16
BLAKE2b-256 8a7d0a10b62e694c8af331af35142001d3c4058a4fb4b956882f37bb2a997cef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.25-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9608a13a1b5c027ee6571acb92a362d38d7dab7a9b06bda4774f2a7d3b131f94
MD5 31b6e7b6d096c83bfce3972da85406b0
BLAKE2b-256 f765b362f770d1f7e81f185780265af4c6882c86339ccd5312ad4c2510aa1b3f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.25-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.25-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3a0bc0e8ef1257def4779e1197713f4ca25eb248438d07c8550df689cce7e2c8
MD5 f054dc1afbe3d9ef1a07362539a9c619
BLAKE2b-256 511fb7d53f83eda67f0669fd4ab904b39bcab9148923e89994ba9a8e6d708b0e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.25-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0a35d41c876bac69968cffae58731567cb0915cf1ecec11bdb78829850dad1b5
MD5 5c1c4fa7e331b86a0cb38d9ec9a06874
BLAKE2b-256 a10fbf9407c9f9dc50e80448585f4aeb227dcf4093c3c4897b2742585858395b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.25-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bbe6916dd321c3b00b2fbfb1991f32a9c436596eab0ca6316fdf2e4b6921209f
MD5 d8562c81296295dec59933b30e44290a
BLAKE2b-256 3e23c963f066ef1f63e375c54a05e469a8a2ae3afa394f43ab4ce02f43a98e75

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.25-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.25-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3bf9980705d4709b14e7cbe02c0c230d82ad897d5fef4c709d071b21de0d647f
MD5 a48e8038155ac08c7e2678f3b79a1d7e
BLAKE2b-256 a1670289f1fa05b12c7d2cdbd666c8a49af690d3c4c4acd7be2a30f9857f9260

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.25-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7a70ad5d438ecf3c2b27cb5cee525e3e103dcafae6a54b02e5562769564bc4d0
MD5 09ceb544851eaadfa6264b3a194fdc97
BLAKE2b-256 e3c5cf77b76a15c0fcaa409e88972503bac77eaaf78541c8ff46735c72f8d845

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.25-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 510b5b8b7444e13db893b2605b342c21e85dd81d7b4107e719f42688e28282bb
MD5 9e36a56f32739bc8abda8f18181440bd
BLAKE2b-256 be9fd6fd34093a4ea2711806cecd88ddcc4b7a7e03b4bdd1b076a18a880f08b4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.25-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.25-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c86f24447498d379fbf8701e05c89984c219fb317a2132d50637e27b613bba2e
MD5 5de5446a6d35ddf2103422ec96446737
BLAKE2b-256 74323022799f5c0cfa8a403bae18c0e18b0d753f46236813b42403be48af9422

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.25-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e694a8a523bdb34bcc98eba69355721781ddbcab32cc6cbe4aaaeadb51001009
MD5 3efedf7539fbb56b69f3af1ac729b778
BLAKE2b-256 33490c6ab6af58564920291c86febb72d5d99ce7ada7cb7f24c3c45914af179c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.25-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7e4179bafae6b1f6c35b845abd443fa68001b4528c70637d4eb4bfd8edae1368
MD5 9580ed285d09d88fe76e4b8c31b9ac49
BLAKE2b-256 4ba2fe5f7e9f2f158d4373d15f025d7a65a0300bf07fc418a4f31c7cfd39399c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytoscnpy-1.2.25-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.25-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 82fd39b5b764b22be0737747ef71571bbdf57f3b2e48b37dffbb0e5f10dcf7fe
MD5 ad2ec5ef64b32203223c0d872834cced
BLAKE2b-256 4341071d47fe4de6ba81bfa7eac1f687511ef4ebb5dd51bc93c1c30601f8e7bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.25-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9204c8b6eaabf6a11fbacebf6b92c1653f38c5308e1dd06829252acb69e170f8
MD5 7a5628da01f5c6c8218a56a0f44d8cf0
BLAKE2b-256 13ef49c5dc588925951e84f7043022c490cd22bb8516fa6ff5f44323824caa1c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoscnpy-1.2.25-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7908b4cb205e5e20bd3a0680ab6c427698b6f6babda5c1146d483b3c460a46f5
MD5 7a86b9179cfaf81138018e8dbf7dc08e
BLAKE2b-256 cdbef39dfa1bf8965a72452f83f805675ae759d75b6bf0490a644a7ffcc84b64

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