functime


Namefunctime JSON
Version 0.9.4 PyPI version JSON
download
home_pageNone
SummaryTime-series machine learning at scale.
upload_time2023-12-28 08:23:32
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center">
    <h1>Time-series machine learning at scale</h1>
<br />

![functime](https://github.com/TracecatHQ/functime/raw/main/docs/img/banner_dark_bg.png)
[![Python](https://img.shields.io/pypi/pyversions/functime)](https://pypi.org/project/functime/)
[![PyPi](https://img.shields.io/pypi/v/functime?color=blue)](https://pypi.org/project/functime/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![GitHub Publish to PyPI](https://github.com/TracecatHQ/functime/actions/workflows/publish.yml/badge.svg)](https://github.com/TracecatHQ/functime/actions/workflows/publish.yml)
[![GitHub Run Quickstart](https://github.com/TracecatHQ/functime/actions/workflows/quickstart.yml/badge.svg)](https://github.com/TracecatHQ/functime/actions/workflows/quickstart.yml)
[![Discord](https://img.shields.io/discord/1145819725276917782)](https://discord.gg/JKMrZKjEwN)

</div>

---
**functime** is a powerful [Python library](https://pypi.org/project/functime/) for production-ready **global forecasting** and **time-series feature extraction** on **large panel datasets**.

**functime** also comes with time-series [preprocessing](https://docs.functime.ai/ref/preprocessing/) (box-cox, differencing etc), cross-validation [splitters](https://docs.functime.ai/ref/cross-validation/) (expanding and sliding window), and forecast [metrics](https://docs.functime.ai/ref/metrics/) (MASE, SMAPE etc). All optimized as [lazy Polars](https://pola-rs.github.io/polars-book/user-guide/lazy/using/) transforms.

Join us on [Discord](https://discord.gg/JKMrZKjEwN)!

## Highlights
- **Fast:** Forecast and extract features (e.g. tsfresh, Catch22) across 100,000 time series in seconds *on your laptop*
- **Efficient:** Embarrassingly parallel feature engineering for time-series using [`Polars`](https://www.pola.rs/)
- **Battle-tested:** Machine learning algorithms that deliver real business impact and win competitions
- **Exogenous features:** supported by every forecaster
- **Backtesting** with expanding window and sliding window splitters
- **Automated lags and hyperparameter tuning** using [`FLAML`](https://github.com/microsoft/FLAML)

## Additional Highlights
`functime` comes with a specialized LLM agent to analyze, describe, and compare your forecasts. Check out the walkthrough [here](https://docs.functime.ai/notebooks/llm/).

## Getting Started
Install `functime` via the [pip](https://pypi.org/project/functime) package manager.
```bash
pip install functime
```

`functime` comes with extra options. For example, to install `functime` with large-language model (LLM) and lightgbm features:

```bash
pip install "functime[llm,lgb]"
```

- `cat`: To use `catboost` forecaster
- `xgb`: To use `xgboost` forecaster
- `lgb`: To use `lightgbm` forecaster
- `llm`: To use the LLM-powered forecast analyst

### Forecasting

```python
import polars as pl
from functime.cross_validation import train_test_split
from functime.seasonality import add_fourier_terms
from functime.forecasting import linear_model
from functime.preprocessing import scale
from functime.metrics import mase

# Load commodities price data
y = pl.read_parquet("https://github.com/TracecatHQ/functime/raw/main/data/commodities.parquet")
entity_col, time_col = y.columns[:2]

# Time series split
y_train, y_test = y.pipe(train_test_split(test_size=3))

# Fit-predict
forecaster = linear_model(freq="1mo", lags=24)
forecaster.fit(y=y_train)
y_pred = forecaster.predict(fh=3)

# functime ❤️ functional design
# fit-predict in a single line
y_pred = linear_model(freq="1mo", lags=24)(y=y_train, fh=3)

# Score forecasts in parallel
scores = mase(y_true=y_test, y_pred=y_pred, y_train=y_train)

# Forecast with target transforms and feature transforms
forecaster = linear_model(
    freq="1mo",
    lags=24,
    target_transform=scale(),
    feature_transform=add_fourier_terms(sp=12, K=6)
)

# Forecast with exogenous regressors!
# Just pass them into X
X = (
    y.select([entity_col, time_col])
    .pipe(add_fourier_terms(sp=12, K=6)).collect()
)
X_train, X_future = y.pipe(train_test_split(test_size=3))
forecaster = linear_model(freq="1mo", lags=24)
forecaster.fit(y=y_train, X=X_train)
y_pred = forecaster.predict(fh=3, X=X_future)
```

View the full walkthrough on forecasting [here](https://docs.functime.ai/forecasting/).

### Feature Extraction

`functime` comes with over 100+ [time-series feature extractors](https://docs.functime.ai/feature-extraction/).
Every feature is easily accessible via `functime`'s custom `ts` (time-series) namespace, which works with any `Polars` Series or expression. To register the custom `ts` `Polars` namespace, you must first import `functime` in your module.

To register the custom `ts` `Polars` namespace, you must first import `functime`!

```python
import polars as pl
import numpy as np
from functime.feature_extractors import FeatureExtractor, binned_entropy

# Load commodities price data
y = pl.read_parquet("https://github.com/TracecatHQ/functime/raw/main/data/commodities.parquet")

# Get column names ("commodity_type", "time", "price")
entity_col, time_col, value_col = y.columns

# Extract a single feature from a single time-series
binned_entropy = binned_entropy(
    pl.Series(np.random.normal(0, 1, size=10)),
    bin_count=10
)

# 🔥 Also works on LazyFrames with query optimization
features = (
    pl.LazyFrame({
        "index": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
        "value": np.random.normal(0, 1, size=10)
    })
    .select(
        binned_entropy=pl.col("value").ts.binned_entropy(bin_count=10),
        lempel_ziv_complexity=pl.col("value").ts.lempel_ziv_complexity(threshold=3),
        longest_streak_above_mean=pl.col("value").ts.longest_streak_above_mean(),
    )
    .collect()
)

# 🚄 Extract features blazingly fast on many
# stacked time-series using `group_by`
features = (
    y.group_by(entity_col)
    .agg(
        binned_entropy=pl.col(value_col).ts.binned_entropy(bin_count=10),
        lempel_ziv_complexity=pl.col(value_col).ts.lempel_ziv_complexity(threshold=3),
        longest_streak_above_mean=pl.col(value_col).ts.longest_streak_above_mean(),
    )
)

# 🚄 Extract features blazingly fast on windows
# of many time-series using `group_by_dynamic`
features = (
    # Compute rolling features at yearly intervals
    y.group_by_dynamic(
        time_col,
        every="12mo",
        by=entity_col,
    )
    .agg(
        binned_entropy=pl.col(value_col).ts.binned_entropy(bin_count=10),
        lempel_ziv_complexity=pl.col(value_col).ts.lempel_ziv_complexity(threshold=3),
        longest_streak_above_mean=pl.col(value_col).ts.longest_streak_above_mean(),
    )
)

```

## Related Projects

If you are interested in general data-science related plugins for `Polars`, you must check out [`polars-ds`](https://github.com/abstractqqq/polars_ds_extension). `polars-ds` is a project created by one of `functime`'s core maintainers and is the easiest way to extend your `Polars` pipelines with commonly used data-science operations made blazing fast with Rust!

## License
`functime` is distributed under [Apache-2.0](LICENSE).


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "functime",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": null,
    "author_email": "functime Team <team@functime.ai>, Chris Lo <chris@functime.ai>, Daryl Lim <daryl@functime.ai>",
    "download_url": null,
    "platform": null,
    "description": "<div align=\"center\">\n    <h1>Time-series machine learning at scale</h1>\n<br />\n\n![functime](https://github.com/TracecatHQ/functime/raw/main/docs/img/banner_dark_bg.png)\n[![Python](https://img.shields.io/pypi/pyversions/functime)](https://pypi.org/project/functime/)\n[![PyPi](https://img.shields.io/pypi/v/functime?color=blue)](https://pypi.org/project/functime/)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![GitHub Publish to PyPI](https://github.com/TracecatHQ/functime/actions/workflows/publish.yml/badge.svg)](https://github.com/TracecatHQ/functime/actions/workflows/publish.yml)\n[![GitHub Run Quickstart](https://github.com/TracecatHQ/functime/actions/workflows/quickstart.yml/badge.svg)](https://github.com/TracecatHQ/functime/actions/workflows/quickstart.yml)\n[![Discord](https://img.shields.io/discord/1145819725276917782)](https://discord.gg/JKMrZKjEwN)\n\n</div>\n\n---\n**functime** is a powerful [Python library](https://pypi.org/project/functime/) for production-ready **global forecasting** and **time-series feature extraction** on **large panel datasets**.\n\n**functime** also comes with time-series [preprocessing](https://docs.functime.ai/ref/preprocessing/) (box-cox, differencing etc), cross-validation [splitters](https://docs.functime.ai/ref/cross-validation/) (expanding and sliding window), and forecast [metrics](https://docs.functime.ai/ref/metrics/) (MASE, SMAPE etc). All optimized as [lazy Polars](https://pola-rs.github.io/polars-book/user-guide/lazy/using/) transforms.\n\nJoin us on [Discord](https://discord.gg/JKMrZKjEwN)!\n\n## Highlights\n- **Fast:** Forecast and extract features (e.g. tsfresh, Catch22) across 100,000 time series in seconds *on your laptop*\n- **Efficient:** Embarrassingly parallel feature engineering for time-series using [`Polars`](https://www.pola.rs/)\n- **Battle-tested:** Machine learning algorithms that deliver real business impact and win competitions\n- **Exogenous features:** supported by every forecaster\n- **Backtesting** with expanding window and sliding window splitters\n- **Automated lags and hyperparameter tuning** using [`FLAML`](https://github.com/microsoft/FLAML)\n\n## Additional Highlights\n`functime` comes with a specialized LLM agent to analyze, describe, and compare your forecasts. Check out the walkthrough [here](https://docs.functime.ai/notebooks/llm/).\n\n## Getting Started\nInstall `functime` via the [pip](https://pypi.org/project/functime) package manager.\n```bash\npip install functime\n```\n\n`functime` comes with extra options. For example, to install `functime` with large-language model (LLM) and lightgbm features:\n\n```bash\npip install \"functime[llm,lgb]\"\n```\n\n- `cat`: To use `catboost` forecaster\n- `xgb`: To use `xgboost` forecaster\n- `lgb`: To use `lightgbm` forecaster\n- `llm`: To use the LLM-powered forecast analyst\n\n### Forecasting\n\n```python\nimport polars as pl\nfrom functime.cross_validation import train_test_split\nfrom functime.seasonality import add_fourier_terms\nfrom functime.forecasting import linear_model\nfrom functime.preprocessing import scale\nfrom functime.metrics import mase\n\n# Load commodities price data\ny = pl.read_parquet(\"https://github.com/TracecatHQ/functime/raw/main/data/commodities.parquet\")\nentity_col, time_col = y.columns[:2]\n\n# Time series split\ny_train, y_test = y.pipe(train_test_split(test_size=3))\n\n# Fit-predict\nforecaster = linear_model(freq=\"1mo\", lags=24)\nforecaster.fit(y=y_train)\ny_pred = forecaster.predict(fh=3)\n\n# functime \u2764\ufe0f functional design\n# fit-predict in a single line\ny_pred = linear_model(freq=\"1mo\", lags=24)(y=y_train, fh=3)\n\n# Score forecasts in parallel\nscores = mase(y_true=y_test, y_pred=y_pred, y_train=y_train)\n\n# Forecast with target transforms and feature transforms\nforecaster = linear_model(\n    freq=\"1mo\",\n    lags=24,\n    target_transform=scale(),\n    feature_transform=add_fourier_terms(sp=12, K=6)\n)\n\n# Forecast with exogenous regressors!\n# Just pass them into X\nX = (\n    y.select([entity_col, time_col])\n    .pipe(add_fourier_terms(sp=12, K=6)).collect()\n)\nX_train, X_future = y.pipe(train_test_split(test_size=3))\nforecaster = linear_model(freq=\"1mo\", lags=24)\nforecaster.fit(y=y_train, X=X_train)\ny_pred = forecaster.predict(fh=3, X=X_future)\n```\n\nView the full walkthrough on forecasting [here](https://docs.functime.ai/forecasting/).\n\n### Feature Extraction\n\n`functime` comes with over 100+ [time-series feature extractors](https://docs.functime.ai/feature-extraction/).\nEvery feature is easily accessible via `functime`'s custom `ts` (time-series) namespace, which works with any `Polars` Series or expression. To register the custom `ts` `Polars` namespace, you must first import `functime` in your module.\n\nTo register the custom `ts` `Polars` namespace, you must first import `functime`!\n\n```python\nimport polars as pl\nimport numpy as np\nfrom functime.feature_extractors import FeatureExtractor, binned_entropy\n\n# Load commodities price data\ny = pl.read_parquet(\"https://github.com/TracecatHQ/functime/raw/main/data/commodities.parquet\")\n\n# Get column names (\"commodity_type\", \"time\", \"price\")\nentity_col, time_col, value_col = y.columns\n\n# Extract a single feature from a single time-series\nbinned_entropy = binned_entropy(\n    pl.Series(np.random.normal(0, 1, size=10)),\n    bin_count=10\n)\n\n# \ud83d\udd25 Also works on LazyFrames with query optimization\nfeatures = (\n    pl.LazyFrame({\n        \"index\": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\n        \"value\": np.random.normal(0, 1, size=10)\n    })\n    .select(\n        binned_entropy=pl.col(\"value\").ts.binned_entropy(bin_count=10),\n        lempel_ziv_complexity=pl.col(\"value\").ts.lempel_ziv_complexity(threshold=3),\n        longest_streak_above_mean=pl.col(\"value\").ts.longest_streak_above_mean(),\n    )\n    .collect()\n)\n\n# \ud83d\ude84 Extract features blazingly fast on many\n# stacked time-series using `group_by`\nfeatures = (\n    y.group_by(entity_col)\n    .agg(\n        binned_entropy=pl.col(value_col).ts.binned_entropy(bin_count=10),\n        lempel_ziv_complexity=pl.col(value_col).ts.lempel_ziv_complexity(threshold=3),\n        longest_streak_above_mean=pl.col(value_col).ts.longest_streak_above_mean(),\n    )\n)\n\n# \ud83d\ude84 Extract features blazingly fast on windows\n# of many time-series using `group_by_dynamic`\nfeatures = (\n    # Compute rolling features at yearly intervals\n    y.group_by_dynamic(\n        time_col,\n        every=\"12mo\",\n        by=entity_col,\n    )\n    .agg(\n        binned_entropy=pl.col(value_col).ts.binned_entropy(bin_count=10),\n        lempel_ziv_complexity=pl.col(value_col).ts.lempel_ziv_complexity(threshold=3),\n        longest_streak_above_mean=pl.col(value_col).ts.longest_streak_above_mean(),\n    )\n)\n\n```\n\n## Related Projects\n\nIf you are interested in general data-science related plugins for `Polars`, you must check out [`polars-ds`](https://github.com/abstractqqq/polars_ds_extension). `polars-ds` is a project created by one of `functime`'s core maintainers and is the easiest way to extend your `Polars` pipelines with commonly used data-science operations made blazing fast with Rust!\n\n## License\n`functime` is distributed under [Apache-2.0](LICENSE).\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Time-series machine learning at scale.",
    "version": "0.9.4",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "be199b53c56074f41e3627cd9015d5e7b3c4f0c608c555d8de028b6bd9b1b27b",
                "md5": "78582e752c7cbce75d714e9f53f4cb5a",
                "sha256": "a4878306c31a785b3405d486865654106afc759aed3000f38e128bdbdfb0dc4e"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp310-cp310-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "78582e752c7cbce75d714e9f53f4cb5a",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 3983925,
            "upload_time": "2023-12-28T08:23:32",
            "upload_time_iso_8601": "2023-12-28T08:23:32.030719Z",
            "url": "https://files.pythonhosted.org/packages/be/19/9b53c56074f41e3627cd9015d5e7b3c4f0c608c555d8de028b6bd9b1b27b/functime-0.9.4-cp310-cp310-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "bf633f484848d0e906b16c5c205a5af195ab92e59556b02791e33a57111cc845",
                "md5": "4c8068e85e469d120dc37d7786da18db",
                "sha256": "985a5bd66c32fea09e031cf5b15117a88d8f5b03dd705ba86d5e4943b6b90e9d"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "4c8068e85e469d120dc37d7786da18db",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 3582761,
            "upload_time": "2023-12-28T08:23:34",
            "upload_time_iso_8601": "2023-12-28T08:23:34.985192Z",
            "url": "https://files.pythonhosted.org/packages/bf/63/3f484848d0e906b16c5c205a5af195ab92e59556b02791e33a57111cc845/functime-0.9.4-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "44653afb58dc714a8bd3b02ea08ad70e9485b41ed3477641b8e14bebe5315a97",
                "md5": "0c2e440e372de4956d58d2e76959d2e0",
                "sha256": "efc8e1ef9301891c983aed8820d5f89c4afed68c55ff272210574b824c370736"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "0c2e440e372de4956d58d2e76959d2e0",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 5983014,
            "upload_time": "2023-12-28T08:23:37",
            "upload_time_iso_8601": "2023-12-28T08:23:37.460406Z",
            "url": "https://files.pythonhosted.org/packages/44/65/3afb58dc714a8bd3b02ea08ad70e9485b41ed3477641b8e14bebe5315a97/functime-0.9.4-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a36d5c7b39bd870094cea3365db3d873788cd1f691f69504606ce8e24bc75020",
                "md5": "7159431eb51bb8ffa810daf9a83f1b9c",
                "sha256": "dc535765825746f6c52d126bcc3e6e0c71af1e2dec8688880aeb74897b842dc9"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "7159431eb51bb8ffa810daf9a83f1b9c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 5468553,
            "upload_time": "2023-12-28T08:23:39",
            "upload_time_iso_8601": "2023-12-28T08:23:39.793110Z",
            "url": "https://files.pythonhosted.org/packages/a3/6d/5c7b39bd870094cea3365db3d873788cd1f691f69504606ce8e24bc75020/functime-0.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "754f030f6bc2f6e6eb41853eb16cf7b0fa103f02b1941dad8111f490372754f5",
                "md5": "beeeef1a8683b27c692edbd051168cd0",
                "sha256": "22140526733ea09f48f24db23e1ef714ddaeb6f38740b8dbeb475d61cb56578c"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "beeeef1a8683b27c692edbd051168cd0",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 5724846,
            "upload_time": "2023-12-28T08:23:41",
            "upload_time_iso_8601": "2023-12-28T08:23:41.823024Z",
            "url": "https://files.pythonhosted.org/packages/75/4f/030f6bc2f6e6eb41853eb16cf7b0fa103f02b1941dad8111f490372754f5/functime-0.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "605b0d2b884d2c43bd553426a5375319f29b47ed3f4d91d76be82354cbccec22",
                "md5": "31626be279304b9b608a0c417187fe5c",
                "sha256": "de44be1add8680cd4dcac84c7006ef6c95d766cfaf7963775b0a6547f869f9e6"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp310-none-win32.whl",
            "has_sig": false,
            "md5_digest": "31626be279304b9b608a0c417187fe5c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 3235832,
            "upload_time": "2023-12-28T08:23:44",
            "upload_time_iso_8601": "2023-12-28T08:23:44.018476Z",
            "url": "https://files.pythonhosted.org/packages/60/5b/0d2b884d2c43bd553426a5375319f29b47ed3f4d91d76be82354cbccec22/functime-0.9.4-cp310-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "081635bae56ca2cd3bd7adc46aeba0de171f53800b34473ea20d5f7b25d3c1d9",
                "md5": "7de79ec9037271ce1edb451ba1bdb305",
                "sha256": "3f5186424a3a76f53298d07de3161ab626753d6092eab78373b9a43776e1cf59"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp310-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "7de79ec9037271ce1edb451ba1bdb305",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 3716550,
            "upload_time": "2023-12-28T08:23:46",
            "upload_time_iso_8601": "2023-12-28T08:23:46.211556Z",
            "url": "https://files.pythonhosted.org/packages/08/16/35bae56ca2cd3bd7adc46aeba0de171f53800b34473ea20d5f7b25d3c1d9/functime-0.9.4-cp310-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "73388b20e5f738f7097bdcb85915869c23298317dfe9bae5b7ec987e16e31a06",
                "md5": "1850b61e6a008901912c78c77ac8bd5b",
                "sha256": "09f3241bffa7bae7ee45e64cfbe2b214f0e4786395cfd4c3d4bc814722651081"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp311-cp311-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1850b61e6a008901912c78c77ac8bd5b",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 3983943,
            "upload_time": "2023-12-28T08:23:47",
            "upload_time_iso_8601": "2023-12-28T08:23:47.913131Z",
            "url": "https://files.pythonhosted.org/packages/73/38/8b20e5f738f7097bdcb85915869c23298317dfe9bae5b7ec987e16e31a06/functime-0.9.4-cp311-cp311-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cdf79134c194f753bf83a8b14e3fc125c7455b4de1a68de92c00fd5fb0474ecc",
                "md5": "40875c947d92136fd6385b2f78cba99c",
                "sha256": "cb50f2401f3b2b9a2118dee24e9d3bd6a496e7f335e3484db18ef2bd91ccecc9"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "40875c947d92136fd6385b2f78cba99c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 3582778,
            "upload_time": "2023-12-28T08:23:50",
            "upload_time_iso_8601": "2023-12-28T08:23:50.534637Z",
            "url": "https://files.pythonhosted.org/packages/cd/f7/9134c194f753bf83a8b14e3fc125c7455b4de1a68de92c00fd5fb0474ecc/functime-0.9.4-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1841491744580c4deb4455b5f8dfe4742c48da3718684ff6dd9571dd0bc8e938",
                "md5": "39948b90d581ec4d96850f189eddd667",
                "sha256": "86809b13fe44e1260dc841a3f39822b73373437ddd10a416c08fe8579744d421"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "39948b90d581ec4d96850f189eddd667",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 5983062,
            "upload_time": "2023-12-28T08:23:52",
            "upload_time_iso_8601": "2023-12-28T08:23:52.762375Z",
            "url": "https://files.pythonhosted.org/packages/18/41/491744580c4deb4455b5f8dfe4742c48da3718684ff6dd9571dd0bc8e938/functime-0.9.4-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4e278875b2d46d2097f4515f37f9cb6f0d68a397858a3bb1065a4235dee8fef6",
                "md5": "5abccc0ce5ea7efa827f723f90e8d09c",
                "sha256": "54fe0cfebdeda1ee5863068450028648e13a94fa88bfc1e72dd236f693f71a68"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "5abccc0ce5ea7efa827f723f90e8d09c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 5468397,
            "upload_time": "2023-12-28T08:23:55",
            "upload_time_iso_8601": "2023-12-28T08:23:55.213623Z",
            "url": "https://files.pythonhosted.org/packages/4e/27/8875b2d46d2097f4515f37f9cb6f0d68a397858a3bb1065a4235dee8fef6/functime-0.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b523ae78e1754e2426c78b7547d93fe8f65810496206ba3aa017182bb91c49ce",
                "md5": "1bc1adaaf0122845546f3fe0c8f8c89b",
                "sha256": "370487e0623edfea97abad63b900cd398bc15e87168a31e07945f516e80101ec"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1bc1adaaf0122845546f3fe0c8f8c89b",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 5724848,
            "upload_time": "2023-12-28T08:23:56",
            "upload_time_iso_8601": "2023-12-28T08:23:56.841454Z",
            "url": "https://files.pythonhosted.org/packages/b5/23/ae78e1754e2426c78b7547d93fe8f65810496206ba3aa017182bb91c49ce/functime-0.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fe5f0ea2f79eb6aa07c690633a0def17bae562da6b975a76bd9e0a69eeb88c84",
                "md5": "e4002abd5f6b213154c807c7d3101f44",
                "sha256": "01f6052eb6ee18032af471b3e4a21919b55f2fc2ad4811d080b4e5d64349bf0b"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp311-none-win32.whl",
            "has_sig": false,
            "md5_digest": "e4002abd5f6b213154c807c7d3101f44",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 3235772,
            "upload_time": "2023-12-28T08:23:58",
            "upload_time_iso_8601": "2023-12-28T08:23:58.426307Z",
            "url": "https://files.pythonhosted.org/packages/fe/5f/0ea2f79eb6aa07c690633a0def17bae562da6b975a76bd9e0a69eeb88c84/functime-0.9.4-cp311-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ec6e30189434125b363c7352bc87ea09464b195f65aeee933576a644b7f94a8d",
                "md5": "21fdf2e746516ea007f81b65ca986657",
                "sha256": "b7b79f25f1b403cc6043fcfbcd8e9be7b8084e26fba5abcc64983dd5c1de6b77"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp311-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "21fdf2e746516ea007f81b65ca986657",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 3716546,
            "upload_time": "2023-12-28T08:24:00",
            "upload_time_iso_8601": "2023-12-28T08:24:00.688086Z",
            "url": "https://files.pythonhosted.org/packages/ec/6e/30189434125b363c7352bc87ea09464b195f65aeee933576a644b7f94a8d/functime-0.9.4-cp311-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "de504f6f2aebab0d9778754752f4a8c365188a8ab66b3e3e46333f07aa0063c0",
                "md5": "1cbee21c0b826712ad234a64656364f7",
                "sha256": "e35720267ba0b6683517d645788baf14eeb8b7a6fec6a18dc4d7fe4da172a0bf"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp312-cp312-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1cbee21c0b826712ad234a64656364f7",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 3983874,
            "upload_time": "2023-12-28T08:24:02",
            "upload_time_iso_8601": "2023-12-28T08:24:02.459149Z",
            "url": "https://files.pythonhosted.org/packages/de/50/4f6f2aebab0d9778754752f4a8c365188a8ab66b3e3e46333f07aa0063c0/functime-0.9.4-cp312-cp312-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "85f665febbfe921958df80741dcacc01ccc6c78b8366e73b1882bcd4dd8bd8ad",
                "md5": "fc5e9684c40311cd0138669747abbc6d",
                "sha256": "ec9b40132163fabf5e40dadaf40f1280650c6226153aebe3b80a1dc05f3f353b"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "fc5e9684c40311cd0138669747abbc6d",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 3584592,
            "upload_time": "2023-12-28T08:24:04",
            "upload_time_iso_8601": "2023-12-28T08:24:04.251066Z",
            "url": "https://files.pythonhosted.org/packages/85/f6/65febbfe921958df80741dcacc01ccc6c78b8366e73b1882bcd4dd8bd8ad/functime-0.9.4-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5fe1a152269ab9ff240faced179a579a52085324961f78c97bd2d312c5bf2963",
                "md5": "697819624c8237c2176a5894ffee3132",
                "sha256": "5b41101e6dcde5d315619d45067552f38feb368f854059444c429792121f3bcf"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "697819624c8237c2176a5894ffee3132",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 5981910,
            "upload_time": "2023-12-28T08:24:06",
            "upload_time_iso_8601": "2023-12-28T08:24:06.569355Z",
            "url": "https://files.pythonhosted.org/packages/5f/e1/a152269ab9ff240faced179a579a52085324961f78c97bd2d312c5bf2963/functime-0.9.4-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "988cafb10f2ee822c5aeb6c49c9c5ab32edfd868376ced3d49ecdfb5d08e80f4",
                "md5": "4286bef4f2d0d4a0d7a4b240e265f6f0",
                "sha256": "911083a846b5b68d2f0d389fc4a5565f95ef978b0ec027de4fc0d9bf2cc2c0ca"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "4286bef4f2d0d4a0d7a4b240e265f6f0",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 5469890,
            "upload_time": "2023-12-28T08:24:09",
            "upload_time_iso_8601": "2023-12-28T08:24:09.079137Z",
            "url": "https://files.pythonhosted.org/packages/98/8c/afb10f2ee822c5aeb6c49c9c5ab32edfd868376ced3d49ecdfb5d08e80f4/functime-0.9.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "329c51ef62087d3e664cb0f92ca4884102042588c1caa358a6abee62d5fbf510",
                "md5": "c5722ff13aa85cb89c26dc6d69c9b55e",
                "sha256": "57e31ee1db71053e4e5113a06a4f16e1c270ea82b5134c9f4cb5205c6fe7ef82"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c5722ff13aa85cb89c26dc6d69c9b55e",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 5725145,
            "upload_time": "2023-12-28T08:24:10",
            "upload_time_iso_8601": "2023-12-28T08:24:10.954990Z",
            "url": "https://files.pythonhosted.org/packages/32/9c/51ef62087d3e664cb0f92ca4884102042588c1caa358a6abee62d5fbf510/functime-0.9.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "030ee5881f9d8c428323378c99a02d1f01ba73ef59df03a23027212373c0ace9",
                "md5": "f496927b82ecfe48ea491fd173305449",
                "sha256": "43e386537ab735cc71403e30bbef394da121c9d05d3c7553bf8f70d08b88c8b4"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp312-none-win32.whl",
            "has_sig": false,
            "md5_digest": "f496927b82ecfe48ea491fd173305449",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 3236811,
            "upload_time": "2023-12-28T08:24:12",
            "upload_time_iso_8601": "2023-12-28T08:24:12.740889Z",
            "url": "https://files.pythonhosted.org/packages/03/0e/e5881f9d8c428323378c99a02d1f01ba73ef59df03a23027212373c0ace9/functime-0.9.4-cp312-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "245a9e25597ac2384abe1ffa1a14e2d46adc68e57fec09e56023fa0feca99efb",
                "md5": "488bebc594da106bed7155cba52f1c34",
                "sha256": "6d9182bfc7253ab8ede5dfe30904117f6d696216401ed202774fa23931553c20"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp312-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "488bebc594da106bed7155cba52f1c34",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 3717486,
            "upload_time": "2023-12-28T08:24:15",
            "upload_time_iso_8601": "2023-12-28T08:24:15.050311Z",
            "url": "https://files.pythonhosted.org/packages/24/5a/9e25597ac2384abe1ffa1a14e2d46adc68e57fec09e56023fa0feca99efb/functime-0.9.4-cp312-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8b058f09199a8326a0a82810779ca1e7437f6e1bb7cb0ef2d353bd69c43fd2f7",
                "md5": "4b2d50ddee566acdbeff6ec283e3016a",
                "sha256": "40884508c974a34196ec0457ec4e62fdd51fcf2be47ce12ee95b93c7f6479804"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "4b2d50ddee566acdbeff6ec283e3016a",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 5469890,
            "upload_time": "2023-12-28T08:24:16",
            "upload_time_iso_8601": "2023-12-28T08:24:16.739091Z",
            "url": "https://files.pythonhosted.org/packages/8b/05/8f09199a8326a0a82810779ca1e7437f6e1bb7cb0ef2d353bd69c43fd2f7/functime-0.9.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "336ded305be6e3f61ad0403a3516000f37580117bee5ed41a550863432113b24",
                "md5": "fad4da77935395e9308a6ebb334b65f8",
                "sha256": "01e8b6573c2d54d68c0226d33303c4c6d548d6a096d70af17fafa4966988ca94"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp38-cp38-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fad4da77935395e9308a6ebb334b65f8",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 3984065,
            "upload_time": "2023-12-28T08:24:18",
            "upload_time_iso_8601": "2023-12-28T08:24:18.400128Z",
            "url": "https://files.pythonhosted.org/packages/33/6d/ed305be6e3f61ad0403a3516000f37580117bee5ed41a550863432113b24/functime-0.9.4-cp38-cp38-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f5c230781bffed36e9919a3f0879b87342bc625eaf621afc7aff0bf960b46b64",
                "md5": "88d559c6ced3df7b234cc43227e5a326",
                "sha256": "d974fd7447cab82e2bbd792de664777f65998912ef8b1005e87d24d61fb2ccbc"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp38-cp38-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "88d559c6ced3df7b234cc43227e5a326",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 3583310,
            "upload_time": "2023-12-28T08:24:20",
            "upload_time_iso_8601": "2023-12-28T08:24:20.561725Z",
            "url": "https://files.pythonhosted.org/packages/f5/c2/30781bffed36e9919a3f0879b87342bc625eaf621afc7aff0bf960b46b64/functime-0.9.4-cp38-cp38-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "aa2c6d27d0e225035bfb5298f921457d2e808cc5d2772a7fc2e5d1acce7431a4",
                "md5": "af8988ea56c5da57bedd1ec10d7b836d",
                "sha256": "4d10d0783e66b6619788cc091a59e99555355afbf2e79dd5df96f2157725752d"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "af8988ea56c5da57bedd1ec10d7b836d",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 5982541,
            "upload_time": "2023-12-28T08:24:22",
            "upload_time_iso_8601": "2023-12-28T08:24:22.234926Z",
            "url": "https://files.pythonhosted.org/packages/aa/2c/6d27d0e225035bfb5298f921457d2e808cc5d2772a7fc2e5d1acce7431a4/functime-0.9.4-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "87a529cd5aa01c824ee5eb32b7e8303f617a8adc0bdd515a16ee54be33632ae8",
                "md5": "5a6dc9c79ad23d36abe77cee360f0a52",
                "sha256": "4dd184b30d265a22315fd17005edae338e1c4e7f17a2bf0407d767055bfb28b0"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "5a6dc9c79ad23d36abe77cee360f0a52",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 5467872,
            "upload_time": "2023-12-28T08:24:24",
            "upload_time_iso_8601": "2023-12-28T08:24:24.083181Z",
            "url": "https://files.pythonhosted.org/packages/87/a5/29cd5aa01c824ee5eb32b7e8303f617a8adc0bdd515a16ee54be33632ae8/functime-0.9.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "34666391af26c7d56aa36761bb52c5b284a776670f7ddf485159451c905b42e8",
                "md5": "bd000e54403e6dd228e7b4198c22ddd8",
                "sha256": "762b88622340832b5e0e35f7f694776d55bd0db68881a9ee3ca60573c604784c"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "bd000e54403e6dd228e7b4198c22ddd8",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 5724443,
            "upload_time": "2023-12-28T08:24:26",
            "upload_time_iso_8601": "2023-12-28T08:24:26.419665Z",
            "url": "https://files.pythonhosted.org/packages/34/66/6391af26c7d56aa36761bb52c5b284a776670f7ddf485159451c905b42e8/functime-0.9.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4b8253b212ce5522e5357edf302c0fe6dfde91cfb8838f97077366a8f486824f",
                "md5": "f669c5fc3adfb31c7696797a1a75a04c",
                "sha256": "916fd28b03a70a39dd4c2dd5e100ce3efe60b4f105a92cbe4245b883ce548c8c"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp38-none-win32.whl",
            "has_sig": false,
            "md5_digest": "f669c5fc3adfb31c7696797a1a75a04c",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 3235372,
            "upload_time": "2023-12-28T08:24:28",
            "upload_time_iso_8601": "2023-12-28T08:24:28.179174Z",
            "url": "https://files.pythonhosted.org/packages/4b/82/53b212ce5522e5357edf302c0fe6dfde91cfb8838f97077366a8f486824f/functime-0.9.4-cp38-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d27bd13c4e293c72714d8538cb0d5848c6580aacf61e93bb61b1f6425d847629",
                "md5": "26b9a77514d1449f086c5ce809cfc297",
                "sha256": "d3e3bb326c7dc2a585a3c0ace024a8c68e9cf4c57af01764f622df88c59f964d"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp38-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "26b9a77514d1449f086c5ce809cfc297",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 3716160,
            "upload_time": "2023-12-28T08:24:29",
            "upload_time_iso_8601": "2023-12-28T08:24:29.831472Z",
            "url": "https://files.pythonhosted.org/packages/d2/7b/d13c4e293c72714d8538cb0d5848c6580aacf61e93bb61b1f6425d847629/functime-0.9.4-cp38-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f4fd3fc4ea82e0dcbfde3320c7df669075dc6bc90ab3d316a182d85184df84f4",
                "md5": "1c843179184dacaab291aa1833f3232a",
                "sha256": "69c4113fdb0e58f539eca46afee69b4df8390094ca212a33822ab86b6175cf74"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp39-cp39-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1c843179184dacaab291aa1833f3232a",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 3984044,
            "upload_time": "2023-12-28T08:24:31",
            "upload_time_iso_8601": "2023-12-28T08:24:31.578646Z",
            "url": "https://files.pythonhosted.org/packages/f4/fd/3fc4ea82e0dcbfde3320c7df669075dc6bc90ab3d316a182d85184df84f4/functime-0.9.4-cp39-cp39-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1fa4ff33eeb35df6ded02dadf18b9944a831756381ba5951b0e8ab735ec0336c",
                "md5": "8045ca88779f0a37befe56a830a444ab",
                "sha256": "79999e5d65d40a9a527382a17f2b4c917883291e1633744c5b829ca35f53cba5"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "8045ca88779f0a37befe56a830a444ab",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 3582755,
            "upload_time": "2023-12-28T08:24:33",
            "upload_time_iso_8601": "2023-12-28T08:24:33.161849Z",
            "url": "https://files.pythonhosted.org/packages/1f/a4/ff33eeb35df6ded02dadf18b9944a831756381ba5951b0e8ab735ec0336c/functime-0.9.4-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d98bd8feb2d5ec1c38ca3a91b93ecb4c95586fd07e484bd3d7ee54736787379a",
                "md5": "1d8b48b8c7d4ed252a02702c4ba27280",
                "sha256": "af599b91aa10041cdc7b3dbc3c87a8c0926d08bae3742c10c5be8e645babe631"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "1d8b48b8c7d4ed252a02702c4ba27280",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 5982516,
            "upload_time": "2023-12-28T08:24:34",
            "upload_time_iso_8601": "2023-12-28T08:24:34.880831Z",
            "url": "https://files.pythonhosted.org/packages/d9/8b/d8feb2d5ec1c38ca3a91b93ecb4c95586fd07e484bd3d7ee54736787379a/functime-0.9.4-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b7acc0fd615387074b8f14b63c964a91164f182d930553c42e88633a818ae092",
                "md5": "4e1b9caf972e8834739acab830d939ad",
                "sha256": "fc75513acc39420c9ac1c8f1fe5e539d1189a25bc44332b1384525fcee42b779"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "4e1b9caf972e8834739acab830d939ad",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 5468265,
            "upload_time": "2023-12-28T08:24:36",
            "upload_time_iso_8601": "2023-12-28T08:24:36.695079Z",
            "url": "https://files.pythonhosted.org/packages/b7/ac/c0fd615387074b8f14b63c964a91164f182d930553c42e88633a818ae092/functime-0.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2cbdb9a448e88fac269f0f0d0c5b4d6b0acdd249cbde7e095cddc3e792e970b8",
                "md5": "072c68e2236427ecbb409a11c962c458",
                "sha256": "7491420638ef97292c4ff34bb190a2f75cf4d05a043e3342d25f4c90c7f18de5"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "072c68e2236427ecbb409a11c962c458",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 5724963,
            "upload_time": "2023-12-28T08:24:39",
            "upload_time_iso_8601": "2023-12-28T08:24:39.201375Z",
            "url": "https://files.pythonhosted.org/packages/2c/bd/b9a448e88fac269f0f0d0c5b4d6b0acdd249cbde7e095cddc3e792e970b8/functime-0.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4cc1517ab36ceaf5b0eaf2351f64961cbe189c642b9d2e48802ab4ac88486a26",
                "md5": "1e48211cd8cf4188e97570e2444a8b9f",
                "sha256": "251f7481efd3d0281a48180c10ecda14d019b6616354fd8083bd4d202c9542b6"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp39-none-win32.whl",
            "has_sig": false,
            "md5_digest": "1e48211cd8cf4188e97570e2444a8b9f",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 3236034,
            "upload_time": "2023-12-28T08:24:40",
            "upload_time_iso_8601": "2023-12-28T08:24:40.897354Z",
            "url": "https://files.pythonhosted.org/packages/4c/c1/517ab36ceaf5b0eaf2351f64961cbe189c642b9d2e48802ab4ac88486a26/functime-0.9.4-cp39-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0201aaaa0400b7ecab63ed92c0d4df0db202041eb889d79b8b89fde9ccab5aa5",
                "md5": "321fdc5021702eb4d700c4d0bdfaacdf",
                "sha256": "17042909481ef5b51d0cbfc982f80a4612980722f5903113f6ed3701f31d0531"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-cp39-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "321fdc5021702eb4d700c4d0bdfaacdf",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 3716620,
            "upload_time": "2023-12-28T08:24:42",
            "upload_time_iso_8601": "2023-12-28T08:24:42.449107Z",
            "url": "https://files.pythonhosted.org/packages/02/01/aaaa0400b7ecab63ed92c0d4df0db202041eb889d79b8b89fde9ccab5aa5/functime-0.9.4-cp39-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7cf28529f2e7da5c31003db79a575869a8698a80b4c0143a93fdcf007d74a0a6",
                "md5": "2fb38ab09584251b11b7f66abbcc61bb",
                "sha256": "56702033a5748df72ec42bb46bcd0d50481e729cf8a6f743c37b520dd87ab293"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "2fb38ab09584251b11b7f66abbcc61bb",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.8",
            "size": 5982045,
            "upload_time": "2023-12-28T08:24:44",
            "upload_time_iso_8601": "2023-12-28T08:24:44.719987Z",
            "url": "https://files.pythonhosted.org/packages/7c/f2/8529f2e7da5c31003db79a575869a8698a80b4c0143a93fdcf007d74a0a6/functime-0.9.4-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f411bea7235d0c04b41baf6989e3bea4865b831a3b623f2e1aa1ecea8f6ce7dc",
                "md5": "516feb4a81e286068a0492e21a11430b",
                "sha256": "5dc910be4f6673255bae703f36edcefdcc47067a46f17fd484533da8a8cfe273"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "516feb4a81e286068a0492e21a11430b",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.8",
            "size": 5470025,
            "upload_time": "2023-12-28T08:24:47",
            "upload_time_iso_8601": "2023-12-28T08:24:47.093515Z",
            "url": "https://files.pythonhosted.org/packages/f4/11/bea7235d0c04b41baf6989e3bea4865b831a3b623f2e1aa1ecea8f6ce7dc/functime-0.9.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8a5962b34bcbe579cb79fcd3fb47642d67e8eeaa386c008e7456cdd42a987181",
                "md5": "bacfe36e75477c0b1f5246dc59ba2b9e",
                "sha256": "c117555f4b1ceebb4e221fb6564c75210545aaa72a3b113c37b3191ebf0bfbb0"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "bacfe36e75477c0b1f5246dc59ba2b9e",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.8",
            "size": 5725425,
            "upload_time": "2023-12-28T08:24:50",
            "upload_time_iso_8601": "2023-12-28T08:24:50.013844Z",
            "url": "https://files.pythonhosted.org/packages/8a/59/62b34bcbe579cb79fcd3fb47642d67e8eeaa386c008e7456cdd42a987181/functime-0.9.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3ef6664b70d09f4919816ac635228fc1cb9e8d610e42868c8a6b5708581ddeab",
                "md5": "15d3e795ba8741314c2956426f800357",
                "sha256": "db813116f28f3e146d547bb9654707397a36683538e6b328fb3d49ad3fe5ffb6"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "15d3e795ba8741314c2956426f800357",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 5981624,
            "upload_time": "2023-12-28T08:24:52",
            "upload_time_iso_8601": "2023-12-28T08:24:52.239040Z",
            "url": "https://files.pythonhosted.org/packages/3e/f6/664b70d09f4919816ac635228fc1cb9e8d610e42868c8a6b5708581ddeab/functime-0.9.4-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "67588cb23695b3fdf57e95922f7bee0951d5570975920621185c44893e1450a5",
                "md5": "c149322371d01d4f2a1cb9f389b6a5be",
                "sha256": "3db4ce34ef58e87713bb0171448a88118a9b6ae49f74bcb731902fa0b9461896"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "c149322371d01d4f2a1cb9f389b6a5be",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 5469260,
            "upload_time": "2023-12-28T08:24:53",
            "upload_time_iso_8601": "2023-12-28T08:24:53.888643Z",
            "url": "https://files.pythonhosted.org/packages/67/58/8cb23695b3fdf57e95922f7bee0951d5570975920621185c44893e1450a5/functime-0.9.4-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "75cf154a233cbc8509980bdb16ca56d5dab36e49d21c5f824a5f11494292fafa",
                "md5": "3277148593d35dd31e45ccc6c05a33a6",
                "sha256": "50fe5cb906b434a71e5287df74763564fc39ccdaf96ef79e03ece3259f04bdc9"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3277148593d35dd31e45ccc6c05a33a6",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 5725445,
            "upload_time": "2023-12-28T08:24:55",
            "upload_time_iso_8601": "2023-12-28T08:24:55.591704Z",
            "url": "https://files.pythonhosted.org/packages/75/cf/154a233cbc8509980bdb16ca56d5dab36e49d21c5f824a5f11494292fafa/functime-0.9.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "35ea0360d21b888be024d3b448e0b1d483afa3e5f6d4417a225980a939387dfc",
                "md5": "5bedc57ad4e04964561879540f2aae08",
                "sha256": "58865d5ea50c825ad6f8b9d90692382d59121543b2a0aca44682967df957540e"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "5bedc57ad4e04964561879540f2aae08",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 5981915,
            "upload_time": "2023-12-28T08:24:57",
            "upload_time_iso_8601": "2023-12-28T08:24:57.701683Z",
            "url": "https://files.pythonhosted.org/packages/35/ea/0360d21b888be024d3b448e0b1d483afa3e5f6d4417a225980a939387dfc/functime-0.9.4-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "53daa9414e86bb78f8cb54fecabf07ff08e5988d50adc6e889b8d98831ec9bd3",
                "md5": "51ea0240c8610d19a44853b4d55a9a91",
                "sha256": "458a5df7a337a7576c99cf8a6e8490dc16035ce8394b688d253fa58a3967cfbf"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "51ea0240c8610d19a44853b4d55a9a91",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 5469778,
            "upload_time": "2023-12-28T08:24:59",
            "upload_time_iso_8601": "2023-12-28T08:24:59.415940Z",
            "url": "https://files.pythonhosted.org/packages/53/da/a9414e86bb78f8cb54fecabf07ff08e5988d50adc6e889b8d98831ec9bd3/functime-0.9.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "09d003220c95304ac4d0958fdc025651f657d05b002f547b6634204894354ff9",
                "md5": "2fe1ad9da20e27821eb12a59fa70c1ec",
                "sha256": "b2d6f47d2a24e2887b40c879a1ca14f1a3e0920bd76b27cc10ea30b41c78ab7a"
            },
            "downloads": -1,
            "filename": "functime-0.9.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2fe1ad9da20e27821eb12a59fa70c1ec",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 5725573,
            "upload_time": "2023-12-28T08:25:01",
            "upload_time_iso_8601": "2023-12-28T08:25:01.282501Z",
            "url": "https://files.pythonhosted.org/packages/09/d0/03220c95304ac4d0958fdc025651f657d05b002f547b6634204894354ff9/functime-0.9.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-28 08:23:32",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "functime"
}
        
Elapsed time: 0.15715s