Skip to main content

About

This module provides a CLI tool for rough approximations according to a catalog of prescribed growth rates.

The tool currently features most well-known classes of growth rates and works by fitting each generic growth rate function to the given data.

Its primary use case is estimating time or space growth rates of various algorithms, but it can also be used on data coming from physical measurements.

Install

To install from pypi:

pip3 install --user matchgrowth

Usage

The CLI tool expects --infile with a valid CSV file path, and --col1 and --col2 each with a column name present in the CSV file. Currently the CSV file needs to have headers for all columns, in the first row.

The --top parameter allows to limit the number of matched growth rates reported.

The --outfile parameter is optional and allows to write the generated plot to a PNG file on disk. If the --outfile parameter is not passed, the default GUI from matplotlib will be used to display the plot.

usage: match-growth.py [-h] --infile INFILE [--outfile OUTFILE] --col1 COL1
                       --col2 COL2 [--top TOP] [--catalog CATALOG] [--debug]
                       [--plot PLOT_TYPE]

Tool for estimating growth rates

optional arguments:
  -h, --help         show this help message and exit
  --infile INFILE    CSV input file with measurements
  --outfile OUTFILE  PNG file to write the plot to
  --col1 COL1        data column 1 from the CSV
  --col2 COL2        data column 2 from the CSV
  --top TOP          only print top N closest growth rates
  --catalog CATALOG  select the function catalog to use
  --debug            enable debug mode
  --plot PLOT_TYPE   plot type (normal|loglog)

Example usage:

match-growth.py --infile ./tests/modif7_bench.txt --outfile r1.png --col1 N --col2 memory --top 2

In this example we're estimating the closest growth rate for an algorithm that has a single input N and for which we've already recorded the memory usage for different values of N.

drawing

Support

For questions or requests for paid support, please send an e-mail to business@garage-coding.com

Metadata

Release files for matchgrowth 0.0.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for matchgrowth 0.0.9
File Size Uploaded Provenance Actions
matchgrowth-0.0.9.tar.gz 5.1 kB Without provenance Details for matchgrowth-0.0.9.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for matchgrowth 0.0.9
File Interpreter ABI Platform Actions
matchgrowth-0.0.9-py3-none-any.whl Python 3 none any Details for matchgrowth-0.0.9-py3-none-any.whl

Total release size: 11.5 kB

Release files / matchgrowth-0.0.9.tar.gz

Download URL matchgrowth-0.0.9.tar.gz
Size 5.1 kB
Tags Source
SHA-256 checksum
How to use checksums
f7a7c35e25290fbc13116b09d469eb5d5db28544f31de5924b3cb71dba5247fe
BLAKE2b-256 checksum
How to use checksums
22d3f6f9cf2387241d0b42701c70912359e4fe58e8daf1e93543fc4df3d90519
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.6.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.7.3

Release files / matchgrowth-0.0.9-py3-none-any.whl

Download URL matchgrowth-0.0.9-py3-none-any.whl
Size 6.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cb2080c4f7a3bf5244965adad23b93136ee04c76ab2810d8b440f69d2283ab07
BLAKE2b-256 checksum
How to use checksums
ed039cad1f5cd648cb7c0d57c06b80065c70ffa0ffd4494598317b7942652a06
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.6.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.7.3

Security for matchgrowth 0.0.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page