Packages
Schemathesis generates test cases from OpenAPI and GraphQL schemas to automatically find API bugs through property-based testing, including edge cases, schema violations, and stateful workflow failures.
Install it if you own or test an OpenAPI or GraphQL API and want to catch bugs before users do.
Provides a Python client library for the Schematic API, offering synchronous and asynchronous clients with type-safe request and response handling for feature flags, user and company management, and event tracking.
Install it if you are building on the Schematic platform and need a type-safe, async-capable Python client; otherwise, it is not applicable.
Schematics defines, validates, and transforms Python data structures using type-based schemas, with no database layer—useful for API validation, data serialization, and format conversion.
Schemdraw generates high-quality electrical circuit schematic diagrams as SVG output, with built-in symbols for resistors, capacitors, diodes, transistors, opamps, and other components, plus support for timing diagrams, state machines, and flowcharts.
Install it if you need SVG circuit diagrams in code.
scholarly retrieves author profiles, publication metadata, and citation information from Google Scholar without requiring CAPTCHA solving, using web scraping with proxy support.
However, expect to invest time in proxy setup (required for heavy queries) and be aware that the last PyPI release is from early 2023, so test compatibility with your…
Unofficial wrapper for the Charles Schwab API that provides programmatic access to authentication, quotes, options chains, streaming data, trade execution, and account information.
However, be aware that the last release was 410 days ago, paper trading and historical options pricing are not supported, and you must have a Schwab developer account…
Provides a collection of Matplotlib style sheets designed to format scientific figures for papers, presentations, and theses with publication-ready appearance.
SciKeras wraps Keras models to work with scikit-learn's API, letting you use Keras neural networks in scikit-learn pipelines and with scikit-learn's model selection and evaluation tools.
However, the abandoned status means no active maintenance—use it for stable, non-critical workflows or when you can tolerate potential incompatibilities with future…
Provides base classes and design patterns for building scikit-learn-like and sktime-like parametric objects, making it easier to create packages that follow these established conventions.
scikit-bio provides data structures, algorithms, and educational resources for bioinformatics analysis, including sequence, phylogenetic, and diversity data manipulation.
Not necessary for general scientific computing; install only if you need domain-specific bioinformatics data structures.
scikit-build bridges setuptools and CMake to compile CPython C/C++/Fortran/Cython extensions, handling integration between Python packaging and native code compilation.
However, the description recommends evaluating scikit-build-core first if you do not require extensive build customization.
A build backend that uses CMake to compile Python extension modules and packages, replacing setuptools-based build systems with a modern, standards-compliant approach.
Transforms bilinear and linear forms into sparse matrices and vectors for finite element assembly, supporting 1D, triangular, quadrilateral, tetrahedral, and hexahedral elements plus specialized element types.
scikit-fuzzy provides fuzzy logic algorithms and operations for scientific Python, implementing fuzzy sets, membership functions, and fuzzy inference systems.
However, verify the license terms first, confirm that its dependencies meet your requirements, and be aware that long-term compatibility with future Python versions…
scikit-image provides algorithms for image processing including filtering, morphology, segmentation, feature detection, and transformation, built on numpy and scipy.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
Extends scikit-learn with additional machine learning algorithms that don't meet scikit-learn's inclusion criteria, such as newer or less-cited methods.
However, the latest release was over a year ago—verify that the algorithms you need are stable and well-documented before adopting for critical production work.
Accelerates scikit-learn algorithms on CPU and GPU by patching or replacing estimators with optimized Intel implementations, typically delivering performance gains without requiring code changes.
Provides type stubs for scikit-learn to enable static type checking in projects that use the library.
However, verify that the stubs are current for your scikit-learn version, and monitor the repository for updates—the minimal maintenance signal and recent first…
scikit-misc provides miscellaneous tools for data analysis and scientific computing, built on numpy with compiled C and Fortran components.
The 284-day gap since the last release suggests the package is mature but not under active development; install it for stable functionality, not for ongoing feature…
Scikit-multilearn performs multi-label classification tasks using problem-transformation and algorithm-adaptation methods, built on numpy and scikit-learn with a compatible API.
scikit-network provides graph algorithms and analysis tools for Python, representing graphs as sparse matrices and offering a scikit-learn-inspired API for machine learning on network data.
Scikit-Optimize is a library for optimizing expensive, noisy black-box functions using sequential model-based optimization methods, without requiring gradients.
However, the last release was 801 days ago and maintenance is dormant.
Scikit-plot generates publication-ready visualizations for machine learning evaluation metrics with single-line function calls, working with scikit-learn and other classifiers.
However, be aware that no active development means no fixes for compatibility issues with newer dependencies—test thoroughly in your environment before relying on it…
Provides post hoc statistical tests for pairwise multiple comparisons after ANOVA, including parametric tests (Scheffe, Student T, Tamhane T2, TukeyHSD) and non-parametric tests (Dunn, Nemenyi, Mann-Whitney, Wilcoxon) with p-value adjustment and outlier detection.
scikit-rf is an object-oriented Python library for RF and microwave engineering, providing tools to work with network parameters and Touchstone files.
Install it if you work with network parameters or Touchstone files in Python.
Scikit-surprise builds and evaluates recommender systems that predict explicit ratings using algorithms like SVD, matrix factorization, k-NN, and baseline methods.
Install it if you need to build, evaluate, or compare collaborative filtering algorithms; skip it only if you require implicit feedback or content-based methods.
scikit-survival provides survival analysis models that handle censored data—where event times are only partially observed—built on top of scikit-learn's API and preprocessing tools.
scikit-video reads, writes, and analyzes video files using FFmpeg, providing Python functions for frame extraction and video quality metrics including SSIM, PSNR, NIQE, and BRISQUE.
The main gotcha is the hard requirement for FFmpeg on the system PATH and Python >= 3.10; verify your environment supports both before committing.
Parses SCIM 2.0 filter query strings into abstract syntax trees and transpiles them to SQL queries or Django Q objects with parameterized values.
Install it if you need to parse SCIM filters; skip it if your system does not consume SCIM queries.
Provides Pydantic models for SCIM2 (System for Cross-domain Identity Management) resources, enabling parsing and validation of SCIM2 payloads as native Python objects for building identity provisioning servers and clients.
Provides a lightweight SCIM2 server implementation that handles user provisioning operations including resource discovery, CRUD operations, filtering, searching, and ETags, built on werkzeug with in-memory storage.
However, do not use the in-memory backend in production—it is explicitly designed as a reference implementation.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
Provides pre-built OpenBLAS shared libraries and headers for use as a build or runtime dependency in NumPy, SciPy, and other Python projects that need linear algebra acceleration.
Provides type stubs for the entire SciPy library, enabling static type checkers to understand SciPy's API with shape and dtype awareness.
Provides unified developer tooling for the SciTeX ecosystem: audits ~70 packages against ~130 rules, aggregates skills for AI agents, manages coordinated releases and bulk renames, and runs a linter that enforces API consistency across the ecosystem.
Implements the SciTokens JSON Web Token (JWT) format for generating, validating, and enforcing authorization claims in scientific computing environments.
Install it if you are building or integrating with systems that use SciTokens for authorization.
scmrepo provides an fsspec-based filesystem interface to Git repositories, allowing you to read files from any Git revision without checking them out, and abstracts over multiple Git backends (pygit2, dulwich, gitpython).
sconf is a YAML-based configuration library that merges multiple config files and applies command-line modifications through an argparse-like interface, with support for nested key access and global config registration.
However, do not use it for new projects requiring long-term support—the package has been abandoned since 2021 and will not receive updates for Python or dependency…
SCons is a Python-based build system that orchestrates software construction by analyzing dependencies and invoking build commands, with built-in support for C, C++, Fortran, Java, and other languages.