$npx skillfedfor your agent

rainflow

Implementation of ASTM E1049-85 rainflow cycle counting algorithm

With conditionsPyPI Scientific/EngineeringReleased Apr 2023116.9K downloads / moMITPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — rainflow-3.2.0-py3-none-any.whl
v3.2.0 · released 2023-04-17 · Python >=3.7

Yes, if you need rainflow cycle counting for fatigue analysis and can accept a stable but unmaintained library. The implementation is straightforward, has no dependencies, and the algorithm itself is a fixed standard. However, verify that the ASTM E1049-85 implementation meets your validation requirements, and be aware that no active support or updates are available for compatibility issues with newer Python or dependencies in your broader stack.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Low install friction with no runtime dependencies.
  • Marked as abandoned (last commit 2023-04-17, 1215 days ago), though classified as Production/Stable and supporting Python 3.7–3.11.

License · maintenance · safety

MIT (permissive) — MIT license is permissive; you may use, modify, and distribute this package freely with minimal restrictions.

last release 2023-04-17 (1215 days) · last repo commit 2023-04-17 · 126 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 116,864 downloads/mo, #12,192 on PyPI

Verify before relying

pip install rainflow

import rainflow
signal = [0.2, 0.5, 0.3, 0.8, 0.4, 0.1]
rainflow.count_cycles(signal)
# Returns: [(range, count), ...]
  • Whether the package remains compatible with Python versions released after the last commit in April 2023.
  • Whether the ASTM E1049-85 algorithm implementation has been validated against the standard or peer-reviewed work.
  • Active maintenance status and responsiveness to bug reports or pull requests, given the abandoned label.
Same gist for agents: .md · .json

What it is and what it does

Rainflow is a Python library that implements the ASTM E1049-85 rainflow cycle counting algorithm, a standard method in fatigue analysis for identifying and counting stress cycles in time-series data. It takes a sequence of numerical values (lists, numpy arrays, or pandas Series) and extracts cycles with their ranges, mean values, and occurrence counts—information essential for predicting material fatigue life and damage accumulation.

The library provides two main functions: `count_cycles` for a summary of cycle ranges and frequencies (with optional binning or rounding), and `extract_cycles` for detailed cycle information including start and end indices. It has no external runtime dependencies, making installation straightforward, but the project is no longer actively maintained as of April 2023, though it remains classified as Production/Stable.

Use it for

  • Analyze stress-strain time series from mechanical testing or field measurements to predict component fatigue life.
  • Process vibration or load data to identify and count significant stress reversals for damage assessment.
  • Bin and aggregate cycle counts by range for S-N curve (stress-life) or Goodman diagram fatigue calculations.
  • Extract cycle statistics (range, mean, count, position) for custom fatigue models or post-processing workflows.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need rainflow cycle counting for fatigue analysis and can accept a stable but unmaintained library.

The implementation is straightforward, has no dependencies, and the algorithm itself is a fixed standard. However, verify that the ASTM E1049-85 implementation meets your validation requirements, and be aware that no active support or updates are available for compatibility issues with newer Python or dependencies in your broader stack.

Install

rainflow on PyPI

Before you install

Low install friction with no runtime dependencies. Marked as abandoned (last commit 2023-04-17, 1215 days ago), though classified as Production/Stable and supporting Python 3.7–3.11.

License in practice

MIT license is permissive; you may use, modify, and distribute this package freely with minimal restrictions.

Quickstart

pip install rainflow

import rainflow
signal = [0.2, 0.5, 0.3, 0.8, 0.4, 0.1]
rainflow.count_cycles(signal)
# Returns: [(range, count), ...]

Verify before relying

  • Whether the package remains compatible with Python versions released after the last commit in April 2023.
  • Whether the ASTM E1049-85 algorithm implementation has been validated against the standard or peer-reviewed work.
  • Active maintenance status and responsiveness to bug reports or pull requests, given the abandoned label.

Package facts

LicenseMIT permissive
Python supportSupports the current Python release >=3.7
Install frictionLow. Pure-Python wheel
Runtime dependenciesNone
MaintenanceAbandoned 1,215 days since the last release
Last repo commit
First released
Downloads116,864 / month, #12,192 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Scientific/EngineeringTopic :: Software Development :: Libraries :: Python Modules

Evidence: rainflow-3.2.0-py3-none-any.whl

Tags

Capabilities
rainflow cycle countingfatigue analysis algorithmASTM E1049-85 implementationstress cycle extractiontime series fatiguecycle countingfatigue damage assessment
Topics
fatigue-analysismaterials-sciencesignal-processing

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “rainflow cycle counting”

  • rainflowRainflow implements the ASTM E1049-85 rainflow cycle counting…
  • madokaMadoka implements a Count-Min sketch data structure for…
  • fvcorefvcore provides shared computer vision utilities for PyTorch,…

Give your agent the search over MCP, or paste the wish link into any chat.

More Scientific/Engineering packages

numpy Worth it
PyPI · Software Development · released Aug 2026

NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.

BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0compiled wheel · 3.12+
1.1Bdownloads / mo
pandas Worth it
PyPI · Scientific/Engineering · released Jul 2026

pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.

BSD-3-Clausecompiled wheel · 3.11+
769.1Mdownloads / mo
scipy Worth it
PyPI · Libraries · released Jun 2026

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.

BSD-3-Clausecompiled wheel · 3.12+
449.0Mdownloads / mo
scikit-learn Worth it
PyPI · Software Development · released Jun 2026

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.

BSD-3-Clausecompiled wheel · 3.11+
235.5Mdownloads / mo
dill Worth it
PyPI · Software Development · released Jan 2026

dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.

BSD-3-Clausepure Python · 3.9+
208.1Mdownloads / mo
multiprocess Worth it
PyPI · Software Development · released Jan 2026

Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.

Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.

BSD-3-Clausepure Python · 3.9+
202.7Mdownloads / mo

See also py-import-cycles · importlab · cyclic · pyts · ruptures · noisereduce · tsfresh · syllapy · py-expression-eval · uncertainties