Name | functime JSON |
Version |
0.9.4
JSON |
| download |
home_page | None |
Summary | Time-series machine learning at scale. |
upload_time | 2023-12-28 08:23:32 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | None |
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 />

[](https://pypi.org/project/functime/)
[](https://pypi.org/project/functime/)
[](https://github.com/psf/black)
[](https://github.com/TracecatHQ/functime/actions/workflows/publish.yml)
[](https://github.com/TracecatHQ/functime/actions/workflows/quickstart.yml)
[](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\n[](https://pypi.org/project/functime/)\n[](https://pypi.org/project/functime/)\n[](https://github.com/psf/black)\n[](https://github.com/TracecatHQ/functime/actions/workflows/publish.yml)\n[](https://github.com/TracecatHQ/functime/actions/workflows/quickstart.yml)\n[](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"
}