temporian


Nametemporian JSON
Version 0.9.0 PyPI version JSON
download
home_pagehttps://github.com/google/temporian
SummaryTemporian is a Python package for feature engineering of temporal data, focusing on preventing common modeling errors and providing a simple and powerful API, a first-class iterative development experience, and efficient and well-tested implementations of common and not-so-common temporal data preprocessing functions.
upload_time2024-04-16 17:40:41
maintainerMathieu Guillame-Bert
docs_urlNone
authorMathieu Guillame-Bert, Braulio Ríos, Guillermo Etchebarne, Ian Spektor, Richard Stotz
requires_python<3.12,>=3.8
licenseApache 2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <img src="https://github.com/google/temporian/raw/main/docs/src/assets/banner.png" width="100%" alt="Temporian logo">

[![pypi](https://img.shields.io/pypi/v/temporian?color=blue)](https://pypi.org/project/temporian/)
[![docs](https://readthedocs.org/projects/temporian/badge/?version=stable)](https://temporian.readthedocs.io/en/stable/?badge=stable)
![tests](https://github.com/google/temporian/actions/workflows/test.yaml/badge.svg)
![formatting](https://github.com/google/temporian/actions/workflows/formatting.yaml/badge.svg)
![publish](https://github.com/google/temporian/actions/workflows/publish.yaml/badge.svg)

**Temporian** is a library for **safe**, **simple** and **efficient** preprocessing and feature engineering of temporal data in Python. Temporian supports multivariate time-series, multivariate time-sequences, event logs, and cross-source event streams.

Temporian is to [temporal data](https://temporian.readthedocs.io/en/stable/user_guide/#what-is-temporal-data) what Pandas is to tabular data.

## Key features

- **Supports most types of temporal data** 📈: Handles both uniformly sampled and
  non-uniformly sampled data, both single-variate and multivariate data, both flat
  and multi-index data, and both mono-source and multi-source non-synchronized
  events.

- **Optimized for Temporal data** 🔥: Temporian's core computation is
  implemented in C++ and optimized for temporal data. Temporian can be more than
  1,000x faster than off-the-shelf data processing libraries when operating on
  temporal data.

- **Easy to integrate into an existing ML ecosystem**: Temporian does not perform any ML model training - instead it integrates seamlessly with any ML library, such as PyTorch, Scikit-Learn, Jax, TensorFlow, XGBoost, or Yggdrasil Decision Forests.

- **Prevents unwanted future leakage** 😰: Unless explicitly specified with
  `tp.leak`, feature computation cannot depend on future data, thereby preventing
  unwanted, hard-to-debug, and potentially costly future leakage.

<!--
- **Iterative and interactive development** 📊: Users can easily analyze
  temporal data and visualize results in real-time with iterative tools like
  notebooks. When prototyping, users can iteratively preprocess, analyze, and
  visualize temporal data in real-time with notebooks. In production, users
  can easily reuse, apply, and scale these implementations to larger datasets.

- **Flexible runtime** ☁️: Temporian programs can run seamlessly in-process in
  Python, on large datasets using [Apache Beam](https://beam.apache.org/).
-->

## Quickstart

### Installation

Install Temporian from [PyPI](https://pypi.org/project/temporian/) with `pip`:

```shell
pip install temporian -U
```

Temporian is currently available for Linux and MacOS (ARM and Intel). Windows support is under development.

### Minimal example

Consider sale records that contain contain the `timestamp`, `store`, and `revenue` of individual sales.

```shell
$ cat sales.csv
timestamp,store,revenue
2023-12-04 21:21:05,STORE_31,5071
2023-11-08 17:14:38,STORE_4,1571
2023-11-29 21:44:46,STORE_49,6101
2023-12-20 18:17:14,STORE_18,4499
2023-12-15 10:55:09,STORE_2,6666
...
```

Our goal is to compute the sum of revenue for each store at 11 pm every weekday (excluding weekends).

First, we load the data and list the workdays.

```python
import temporian as tp

# Load sale transactions
sales = tp.from_csv("sales.csv")

# Index sales per store
sales_per_store = sales.add_index("store")

# List work days
days = sales_per_store.tick_calendar(hour=22)
work_days = (days.calendar_day_of_week() <= 5).filter()

work_days.plot(max_num_plots=1)
```

![](https://github.com/google/temporian/raw/main/docs/src/assets/frontpage_workdays.png)

Then, we sum the daily revenue for each workday and each store.

```python
# Aggregate revenue per store and per work day
daily_revenue = sales_per_store["revenue"].moving_sum(tp.duration.days(1), sampling=work_days).rename("daily_revenue")

# Plot the results
daily_revenue.plot(max_num_plots=3)
```

![](https://github.com/google/temporian/raw/main/docs/src/assets/frontpage_aggregated_revenue.png)

Finally, we can export the result as a Pandas DataFrame for further processing or for consumption by other libraries.

```python
tp.to_pandas(daily_revenue)
```

![](https://github.com/google/temporian/raw/main/docs/src/assets/frontpage_pandas.png)

Check the [Getting Started tutorial](https://temporian.readthedocs.io/en/stable/tutorials/getting_started/) to find out more!

## Next steps

New users should refer to the [Getting Started](https://temporian.readthedocs.io/en/stable/getting_started/) guide, which provides a
quick overview of the key concepts and operations of Temporian.

After that, visit the [User Guide](https://temporian.readthedocs.io/en/stable/user_guide/) for a deep dive into
the major concepts, operators, conventions, and practices of Temporian. For a
hands-on learning experience, work through the [Tutorials](https://temporian.readthedocs.io/en/stable/tutorials/) or refer to the [API
reference](https://temporian.readthedocs.io/en/stable/reference/).

If you need help, have a question, want to contribute, or just want to be a part of the Temporian community, we encourage you to join our [Discord](https://discord.gg/nT54yATCTy) server! 🤝🏼

## Documentation

The documentation 📚 is available at [temporian.readthedocs.io](https://temporian.readthedocs.io/en/stable/). The [Getting Started guide](https://temporian.readthedocs.io/en/stable/getting_started/) is the best way to start.

## Contributing

Contributions to Temporian are welcome! Check out the [Contributing guide](https://temporian.readthedocs.io/en/stable/contributing/) to get started.

## Credits

Temporian is developed in collaboration between Google and [Tryolabs](https://tryolabs.com/).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/google/temporian",
    "name": "temporian",
    "maintainer": "Mathieu Guillame-Bert",
    "docs_url": null,
    "requires_python": "<3.12,>=3.8",
    "maintainer_email": "gbm@google.com",
    "keywords": null,
    "author": "Mathieu Guillame-Bert, Braulio R\u00edos, Guillermo Etchebarne, Ian Spektor, Richard Stotz",
    "author_email": "gbm@google.com",
    "download_url": "https://files.pythonhosted.org/packages/5b/f1/655bbe5efdc29f5f90168d53e36655003cd3fe743da8c2ef8763ce0a7772/temporian-0.9.0.tar.gz",
    "platform": null,
    "description": "<img src=\"https://github.com/google/temporian/raw/main/docs/src/assets/banner.png\" width=\"100%\" alt=\"Temporian logo\">\n\n[![pypi](https://img.shields.io/pypi/v/temporian?color=blue)](https://pypi.org/project/temporian/)\n[![docs](https://readthedocs.org/projects/temporian/badge/?version=stable)](https://temporian.readthedocs.io/en/stable/?badge=stable)\n![tests](https://github.com/google/temporian/actions/workflows/test.yaml/badge.svg)\n![formatting](https://github.com/google/temporian/actions/workflows/formatting.yaml/badge.svg)\n![publish](https://github.com/google/temporian/actions/workflows/publish.yaml/badge.svg)\n\n**Temporian** is a library for **safe**, **simple** and **efficient** preprocessing and feature engineering of temporal data in Python. Temporian supports multivariate time-series, multivariate time-sequences, event logs, and cross-source event streams.\n\nTemporian is to [temporal data](https://temporian.readthedocs.io/en/stable/user_guide/#what-is-temporal-data) what Pandas is to tabular data.\n\n## Key features\n\n- **Supports most types of temporal data** \ud83d\udcc8: Handles both uniformly sampled and\n  non-uniformly sampled data, both single-variate and multivariate data, both flat\n  and multi-index data, and both mono-source and multi-source non-synchronized\n  events.\n\n- **Optimized for Temporal data** \ud83d\udd25: Temporian's core computation is\n  implemented in C++ and optimized for temporal data. Temporian can be more than\n  1,000x faster than off-the-shelf data processing libraries when operating on\n  temporal data.\n\n- **Easy to integrate into an existing ML ecosystem**: Temporian does not perform any ML model training - instead it integrates seamlessly with any ML library, such as PyTorch, Scikit-Learn, Jax, TensorFlow, XGBoost, or Yggdrasil Decision Forests.\n\n- **Prevents unwanted future leakage** \ud83d\ude30: Unless explicitly specified with\n  `tp.leak`, feature computation cannot depend on future data, thereby preventing\n  unwanted, hard-to-debug, and potentially costly future leakage.\n\n<!--\n- **Iterative and interactive development** \ud83d\udcca: Users can easily analyze\n  temporal data and visualize results in real-time with iterative tools like\n  notebooks. When prototyping, users can iteratively preprocess, analyze, and\n  visualize temporal data in real-time with notebooks. In production, users\n  can easily reuse, apply, and scale these implementations to larger datasets.\n\n- **Flexible runtime** \u2601\ufe0f: Temporian programs can run seamlessly in-process in\n  Python, on large datasets using [Apache Beam](https://beam.apache.org/).\n-->\n\n## Quickstart\n\n### Installation\n\nInstall Temporian from [PyPI](https://pypi.org/project/temporian/) with `pip`:\n\n```shell\npip install temporian -U\n```\n\nTemporian is currently available for Linux and MacOS (ARM and Intel). Windows support is under development.\n\n### Minimal example\n\nConsider sale records that contain contain the `timestamp`, `store`, and `revenue` of individual sales.\n\n```shell\n$ cat sales.csv\ntimestamp,store,revenue\n2023-12-04 21:21:05,STORE_31,5071\n2023-11-08 17:14:38,STORE_4,1571\n2023-11-29 21:44:46,STORE_49,6101\n2023-12-20 18:17:14,STORE_18,4499\n2023-12-15 10:55:09,STORE_2,6666\n...\n```\n\nOur goal is to compute the sum of revenue for each store at 11 pm every weekday (excluding weekends).\n\nFirst, we load the data and list the workdays.\n\n```python\nimport temporian as tp\n\n# Load sale transactions\nsales = tp.from_csv(\"sales.csv\")\n\n# Index sales per store\nsales_per_store = sales.add_index(\"store\")\n\n# List work days\ndays = sales_per_store.tick_calendar(hour=22)\nwork_days = (days.calendar_day_of_week() <= 5).filter()\n\nwork_days.plot(max_num_plots=1)\n```\n\n![](https://github.com/google/temporian/raw/main/docs/src/assets/frontpage_workdays.png)\n\nThen, we sum the daily revenue for each workday and each store.\n\n```python\n# Aggregate revenue per store and per work day\ndaily_revenue = sales_per_store[\"revenue\"].moving_sum(tp.duration.days(1), sampling=work_days).rename(\"daily_revenue\")\n\n# Plot the results\ndaily_revenue.plot(max_num_plots=3)\n```\n\n![](https://github.com/google/temporian/raw/main/docs/src/assets/frontpage_aggregated_revenue.png)\n\nFinally, we can export the result as a Pandas DataFrame for further processing or for consumption by other libraries.\n\n```python\ntp.to_pandas(daily_revenue)\n```\n\n![](https://github.com/google/temporian/raw/main/docs/src/assets/frontpage_pandas.png)\n\nCheck the [Getting Started tutorial](https://temporian.readthedocs.io/en/stable/tutorials/getting_started/) to find out more!\n\n## Next steps\n\nNew users should refer to the [Getting Started](https://temporian.readthedocs.io/en/stable/getting_started/) guide, which provides a\nquick overview of the key concepts and operations of Temporian.\n\nAfter that, visit the [User Guide](https://temporian.readthedocs.io/en/stable/user_guide/) for a deep dive into\nthe major concepts, operators, conventions, and practices of Temporian. For a\nhands-on learning experience, work through the [Tutorials](https://temporian.readthedocs.io/en/stable/tutorials/) or refer to the [API\nreference](https://temporian.readthedocs.io/en/stable/reference/).\n\nIf you need help, have a question, want to contribute, or just want to be a part of the Temporian community, we encourage you to join our [Discord](https://discord.gg/nT54yATCTy) server! \ud83e\udd1d\ud83c\udffc\n\n## Documentation\n\nThe documentation \ud83d\udcda is available at [temporian.readthedocs.io](https://temporian.readthedocs.io/en/stable/). The [Getting Started guide](https://temporian.readthedocs.io/en/stable/getting_started/) is the best way to start.\n\n## Contributing\n\nContributions to Temporian are welcome! Check out the [Contributing guide](https://temporian.readthedocs.io/en/stable/contributing/) to get started.\n\n## Credits\n\nTemporian is developed in collaboration between Google and [Tryolabs](https://tryolabs.com/).\n",
    "bugtrack_url": null,
    "license": "Apache 2.0",
    "summary": "Temporian is a Python package for feature engineering of temporal data, focusing on preventing common modeling errors and providing a simple and powerful API, a first-class iterative development experience, and efficient and well-tested implementations of common and not-so-common temporal data preprocessing functions.",
    "version": "0.9.0",
    "project_urls": {
        "Homepage": "https://github.com/google/temporian",
        "Repository": "https://github.com/google/temporian"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a202684d0813f67cda36cb95cb0cd36bca58cb105f6476bfd29a22039bd70d0a",
                "md5": "3bf41ad44b192141b0e6e0ecd919bb35",
                "sha256": "dcab698f5e562be940861a3328c3447eb663c4857c5637d88bb572584cc8bed8"
            },
            "downloads": -1,
            "filename": "temporian-0.9.0-cp310-cp310-macosx_12_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3bf41ad44b192141b0e6e0ecd919bb35",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<3.12,>=3.8",
            "size": 714541,
            "upload_time": "2024-04-16T17:39:57",
            "upload_time_iso_8601": "2024-04-16T17:39:57.728931Z",
            "url": "https://files.pythonhosted.org/packages/a2/02/684d0813f67cda36cb95cb0cd36bca58cb105f6476bfd29a22039bd70d0a/temporian-0.9.0-cp310-cp310-macosx_12_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b9eba9d4e664c8249c42ad8f45fbdc12dd2e50f91c909ffd05c632102547bfb6",
                "md5": "aa631b267d7039c6fb99af913d24d96b",
                "sha256": "d8809e7656a56482e235dd909fd2efd46d3f123cf91f7a496f753e83cb8a4592"
            },
            "downloads": -1,
            "filename": "temporian-0.9.0-cp310-cp310-macosx_13_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "aa631b267d7039c6fb99af913d24d96b",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<3.12,>=3.8",
            "size": 698531,
            "upload_time": "2024-04-16T17:39:59",
            "upload_time_iso_8601": "2024-04-16T17:39:59.250620Z",
            "url": "https://files.pythonhosted.org/packages/b9/eb/a9d4e664c8249c42ad8f45fbdc12dd2e50f91c909ffd05c632102547bfb6/temporian-0.9.0-cp310-cp310-macosx_13_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "379955e643f54cc290027b73339f9acbcae83afb7a7684a765b47b382f2a73ee",
                "md5": "f67abfda36092cf842329f244e288403",
                "sha256": "d89dc1cf8125323483c8ee1bdacf6c2cace5a4885da59d9b1b02bd7be69600a8"
            },
            "downloads": -1,
            "filename": "temporian-0.9.0-cp310-cp310-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f67abfda36092cf842329f244e288403",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<3.12,>=3.8",
            "size": 703365,
            "upload_time": "2024-04-16T17:40:01",
            "upload_time_iso_8601": "2024-04-16T17:40:01.401092Z",
            "url": "https://files.pythonhosted.org/packages/37/99/55e643f54cc290027b73339f9acbcae83afb7a7684a765b47b382f2a73ee/temporian-0.9.0-cp310-cp310-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "466285581933b6db451f16070509d2c172f509787350b1f2e4c0fda45fb9755e",
                "md5": "c75a15b19a036bf7bbc1864d7b6c9db6",
                "sha256": "bcd4e09808593166b2e4647af3558a512e8e40b923bb8ab3068acb00007c1ac7"
            },
            "downloads": -1,
            "filename": "temporian-0.9.0-cp310-cp310-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "c75a15b19a036bf7bbc1864d7b6c9db6",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<3.12,>=3.8",
            "size": 698533,
            "upload_time": "2024-04-16T17:40:03",
            "upload_time_iso_8601": "2024-04-16T17:40:03.288542Z",
            "url": "https://files.pythonhosted.org/packages/46/62/85581933b6db451f16070509d2c172f509787350b1f2e4c0fda45fb9755e/temporian-0.9.0-cp310-cp310-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2364d690e37971a1fc7c82f99cba08974500d452014e2e1e64134bd71fe0fd57",
                "md5": "81b2ccd4b27fd4fd9cead8e4ab8a1284",
                "sha256": "a30e62a9b664c8b8e7e3448f286e8719a101be947b85e22c934ad65b457de953"
            },
            "downloads": -1,
            "filename": "temporian-0.9.0-cp310-cp310-macosx_14_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "81b2ccd4b27fd4fd9cead8e4ab8a1284",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<3.12,>=3.8",
            "size": 703334,
            "upload_time": "2024-04-16T17:40:05",
            "upload_time_iso_8601": "2024-04-16T17:40:05.419681Z",
            "url": "https://files.pythonhosted.org/packages/23/64/d690e37971a1fc7c82f99cba08974500d452014e2e1e64134bd71fe0fd57/temporian-0.9.0-cp310-cp310-macosx_14_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "73b2421eb0ea53470759c3336d7f102cc380e2673c5c6338ec2bf4415214eb0a",
                "md5": "b618c5f10ac5e6344a1ae03f09a0adf7",
                "sha256": "f52fdb1de2783393803850025d9d7b7c1e33a29abb9c858b877998508da257e1"
            },
            "downloads": -1,
            "filename": "temporian-0.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b618c5f10ac5e6344a1ae03f09a0adf7",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<3.12,>=3.8",
            "size": 760569,
            "upload_time": "2024-04-16T17:40:07",
            "upload_time_iso_8601": "2024-04-16T17:40:07.177456Z",
            "url": "https://files.pythonhosted.org/packages/73/b2/421eb0ea53470759c3336d7f102cc380e2673c5c6338ec2bf4415214eb0a/temporian-0.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b1c6a585d42d1a73c174a353abb5661e94e6fad7fde32aea10b052a10cfeb1af",
                "md5": "fde660d8f790b104036de62b9972458f",
                "sha256": "34536180fcfb7189c8734ba68ae166821e15cad57b4907a94c2c70a221d93e42"
            },
            "downloads": -1,
            "filename": "temporian-0.9.0-cp311-cp311-macosx_12_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fde660d8f790b104036de62b9972458f",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<3.12,>=3.8",
            "size": 716010,
            "upload_time": "2024-04-16T17:40:10",
            "upload_time_iso_8601": "2024-04-16T17:40:10.157960Z",
            "url": "https://files.pythonhosted.org/packages/b1/c6/a585d42d1a73c174a353abb5661e94e6fad7fde32aea10b052a10cfeb1af/temporian-0.9.0-cp311-cp311-macosx_12_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cd42c3e02eac60562443c885bf790dd41ebfdc72143ca8d9cd9bd2f0f7922923",
                "md5": "0a91997f499ed155c352ca548a390f84",
                "sha256": "de78875a7787bc8b59dd4def43ceaef718c96f86efc8dd14d2702567b934fa91"
            },
            "downloads": -1,
            "filename": "temporian-0.9.0-cp311-cp311-macosx_13_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "0a91997f499ed155c352ca548a390f84",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<3.12,>=3.8",
            "size": 699838,
            "upload_time": "2024-04-16T17:40:11",
            "upload_time_iso_8601": "2024-04-16T17:40:11.686763Z",
            "url": "https://files.pythonhosted.org/packages/cd/42/c3e02eac60562443c885bf790dd41ebfdc72143ca8d9cd9bd2f0f7922923/temporian-0.9.0-cp311-cp311-macosx_13_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0159c791d7823bffc429818500d6b2b38b675721ef116c9217d1287fdc903c16",
                "md5": "acf29eaae6f849bf2d8fe8c9ab8db2e4",
                "sha256": "a247996b14c92351cce4b646adb5e97c520a8b90e08c7bf83910df0f0b4ce43a"
            },
            "downloads": -1,
            "filename": "temporian-0.9.0-cp311-cp311-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "acf29eaae6f849bf2d8fe8c9ab8db2e4",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<3.12,>=3.8",
            "size": 704344,
            "upload_time": "2024-04-16T17:40:13",
            "upload_time_iso_8601": "2024-04-16T17:40:13.721204Z",
            "url": "https://files.pythonhosted.org/packages/01/59/c791d7823bffc429818500d6b2b38b675721ef116c9217d1287fdc903c16/temporian-0.9.0-cp311-cp311-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0083bf3dcff9eceb058b3df2824c7ce3553c2b51c02ab3e7c5e069af431b3b7d",
                "md5": "29b113fe2177cc4aa33e7126c03dd3c9",
                "sha256": "90a0145afe0c46818408a8c993aced489e215d493d40b11ae33a3a166fbf9c73"
            },
            "downloads": -1,
            "filename": "temporian-0.9.0-cp311-cp311-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "29b113fe2177cc4aa33e7126c03dd3c9",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<3.12,>=3.8",
            "size": 699837,
            "upload_time": "2024-04-16T17:40:16",
            "upload_time_iso_8601": "2024-04-16T17:40:16.066742Z",
            "url": "https://files.pythonhosted.org/packages/00/83/bf3dcff9eceb058b3df2824c7ce3553c2b51c02ab3e7c5e069af431b3b7d/temporian-0.9.0-cp311-cp311-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a5fba5eecf2860f9b88a3a41af5c5ac6c5cb81690ad5ed84bf76d871b77903ad",
                "md5": "b46c79083422be86eec45b3c419dcea6",
                "sha256": "fcaed23f626713a9aa00e89e7226b00a13fa0eb0aaf919c663b6c779a21479b5"
            },
            "downloads": -1,
            "filename": "temporian-0.9.0-cp311-cp311-macosx_14_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b46c79083422be86eec45b3c419dcea6",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<3.12,>=3.8",
            "size": 704473,
            "upload_time": "2024-04-16T17:40:17",
            "upload_time_iso_8601": "2024-04-16T17:40:17.684416Z",
            "url": "https://files.pythonhosted.org/packages/a5/fb/a5eecf2860f9b88a3a41af5c5ac6c5cb81690ad5ed84bf76d871b77903ad/temporian-0.9.0-cp311-cp311-macosx_14_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "749b8e112e04e0e60963c65ba162309ec9c3c509a5ae2d3610ea3bfa7ff2650a",
                "md5": "edbd204482ea2aa0df38b793433b5ab7",
                "sha256": "02f7eebbc89e26d887e0a3ba97d02e187831c23334aa7298f229c6387580f5d6"
            },
            "downloads": -1,
            "filename": "temporian-0.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "edbd204482ea2aa0df38b793433b5ab7",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<3.12,>=3.8",
            "size": 760340,
            "upload_time": "2024-04-16T17:40:19",
            "upload_time_iso_8601": "2024-04-16T17:40:19.247942Z",
            "url": "https://files.pythonhosted.org/packages/74/9b/8e112e04e0e60963c65ba162309ec9c3c509a5ae2d3610ea3bfa7ff2650a/temporian-0.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "600b321defb07863cf04e4488e7377576487e6b921765d571d2c49597cf3df65",
                "md5": "e647719798ef8a32f38a6ddc506d5bf9",
                "sha256": "5e5ff45ba60ded0737c60f89eaf045baa50c8d2ab9d5499d6f9287f94b0ab33e"
            },
            "downloads": -1,
            "filename": "temporian-0.9.0-cp38-cp38-macosx_12_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e647719798ef8a32f38a6ddc506d5bf9",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "<3.12,>=3.8",
            "size": 714399,
            "upload_time": "2024-04-16T17:40:21",
            "upload_time_iso_8601": "2024-04-16T17:40:21.173897Z",
            "url": "https://files.pythonhosted.org/packages/60/0b/321defb07863cf04e4488e7377576487e6b921765d571d2c49597cf3df65/temporian-0.9.0-cp38-cp38-macosx_12_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "12f79d9b5dbb1298b0948d4baf9c829368742be573fdaf408e1e572972a0e12a",
                "md5": "acb5c6d4ac37e260a2c734354c7effa7",
                "sha256": "4b511f6b8ef70d4dd6bf22a87927139654c024f0b595d94c51bae10b6053f0a0"
            },
            "downloads": -1,
            "filename": "temporian-0.9.0-cp38-cp38-macosx_13_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "acb5c6d4ac37e260a2c734354c7effa7",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "<3.12,>=3.8",
            "size": 698398,
            "upload_time": "2024-04-16T17:40:22",
            "upload_time_iso_8601": "2024-04-16T17:40:22.567370Z",
            "url": "https://files.pythonhosted.org/packages/12/f7/9d9b5dbb1298b0948d4baf9c829368742be573fdaf408e1e572972a0e12a/temporian-0.9.0-cp38-cp38-macosx_13_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9d7b73b3574c1fbff588686fb8aaee99873bf587f1a333941a21e1bd2724a15f",
                "md5": "f2de0dcc85dd76f65dcab6ecb08540f9",
                "sha256": "935bd698507225b02ffbf631076482d194b1692c4a0c88cb8d6e4ffe8f77e3f1"
            },
            "downloads": -1,
            "filename": "temporian-0.9.0-cp38-cp38-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f2de0dcc85dd76f65dcab6ecb08540f9",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "<3.12,>=3.8",
            "size": 703292,
            "upload_time": "2024-04-16T17:40:24",
            "upload_time_iso_8601": "2024-04-16T17:40:24.167613Z",
            "url": "https://files.pythonhosted.org/packages/9d/7b/73b3574c1fbff588686fb8aaee99873bf587f1a333941a21e1bd2724a15f/temporian-0.9.0-cp38-cp38-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7c947b2e2c553bc8b075c5b5aba784e58e2f078d9294e4670920a95c5db2167e",
                "md5": "7edc52e533a8fd09a8fef08a2bd76e71",
                "sha256": "403e12fd1cfaa752277f3caadad0c186cc2669b9daab2387312c9f6e2ca36a79"
            },
            "downloads": -1,
            "filename": "temporian-0.9.0-cp38-cp38-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "7edc52e533a8fd09a8fef08a2bd76e71",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "<3.12,>=3.8",
            "size": 698397,
            "upload_time": "2024-04-16T17:40:26",
            "upload_time_iso_8601": "2024-04-16T17:40:26.570035Z",
            "url": "https://files.pythonhosted.org/packages/7c/94/7b2e2c553bc8b075c5b5aba784e58e2f078d9294e4670920a95c5db2167e/temporian-0.9.0-cp38-cp38-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5567fcedfefdb9a553cf20128333b01e3702ef5e6b11810dbaaefbc11eaa4d15",
                "md5": "41ffd54df4d3c6513cd9c79fca5226a0",
                "sha256": "2ed98b4571d294ecff9b308ea20323245085598ea9b998c276aa11519d83a96f"
            },
            "downloads": -1,
            "filename": "temporian-0.9.0-cp38-cp38-macosx_14_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "41ffd54df4d3c6513cd9c79fca5226a0",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "<3.12,>=3.8",
            "size": 703231,
            "upload_time": "2024-04-16T17:40:28",
            "upload_time_iso_8601": "2024-04-16T17:40:28.267487Z",
            "url": "https://files.pythonhosted.org/packages/55/67/fcedfefdb9a553cf20128333b01e3702ef5e6b11810dbaaefbc11eaa4d15/temporian-0.9.0-cp38-cp38-macosx_14_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7e207913413caec744103938317d0f30cb85b043eb1fdf4c74e1e7a4aa866092",
                "md5": "7039f2d5006363fdcd1b2648d2c1be97",
                "sha256": "5c8d483415426b0556f3dffb855680ac13f604d613fdcdcd7a8c863a66887b4e"
            },
            "downloads": -1,
            "filename": "temporian-0.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7039f2d5006363fdcd1b2648d2c1be97",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "<3.12,>=3.8",
            "size": 758529,
            "upload_time": "2024-04-16T17:40:29",
            "upload_time_iso_8601": "2024-04-16T17:40:29.582203Z",
            "url": "https://files.pythonhosted.org/packages/7e/20/7913413caec744103938317d0f30cb85b043eb1fdf4c74e1e7a4aa866092/temporian-0.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6c887c4700fc956e3ccf24a02fc4ef23ba74e9952b1793ecec50d3da61b98a60",
                "md5": "7aa913e24a34be472034e3395ebe3cfe",
                "sha256": "32fe0ae23250139be343c8602d0646ee8445e18d717dc5efa3189c8707ea2bbc"
            },
            "downloads": -1,
            "filename": "temporian-0.9.0-cp39-cp39-macosx_12_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7aa913e24a34be472034e3395ebe3cfe",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<3.12,>=3.8",
            "size": 714648,
            "upload_time": "2024-04-16T17:40:30",
            "upload_time_iso_8601": "2024-04-16T17:40:30.970449Z",
            "url": "https://files.pythonhosted.org/packages/6c/88/7c4700fc956e3ccf24a02fc4ef23ba74e9952b1793ecec50d3da61b98a60/temporian-0.9.0-cp39-cp39-macosx_12_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bb8f87f5a8387a6783d9ba3f5feec355699f1da3bd71239db077d35e618e7e74",
                "md5": "46beae92f54dc1d5cc8d66babfb29ffd",
                "sha256": "4c45f5cbbee81f1c40641a00d2ff30eb2137534e2a4dd276dc0bfd082a84b9e8"
            },
            "downloads": -1,
            "filename": "temporian-0.9.0-cp39-cp39-macosx_13_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "46beae92f54dc1d5cc8d66babfb29ffd",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<3.12,>=3.8",
            "size": 698768,
            "upload_time": "2024-04-16T17:40:32",
            "upload_time_iso_8601": "2024-04-16T17:40:32.445268Z",
            "url": "https://files.pythonhosted.org/packages/bb/8f/87f5a8387a6783d9ba3f5feec355699f1da3bd71239db077d35e618e7e74/temporian-0.9.0-cp39-cp39-macosx_13_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "831e7d09c764b86a187f91806c916d5701bea40acea4faaf75c036a9b8367dd6",
                "md5": "fda08da0217a4972051ef16d8ed3c59e",
                "sha256": "094f57fcc648f610d571d03b4024b5baa6c4e3c61e36f382db0e31e91dd5b81b"
            },
            "downloads": -1,
            "filename": "temporian-0.9.0-cp39-cp39-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fda08da0217a4972051ef16d8ed3c59e",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<3.12,>=3.8",
            "size": 703534,
            "upload_time": "2024-04-16T17:40:34",
            "upload_time_iso_8601": "2024-04-16T17:40:34.097720Z",
            "url": "https://files.pythonhosted.org/packages/83/1e/7d09c764b86a187f91806c916d5701bea40acea4faaf75c036a9b8367dd6/temporian-0.9.0-cp39-cp39-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c4a414990a9233b2108c1f7e00c4c77d8653f47a993d8d404a54e2bdd01bb739",
                "md5": "f903750af06e29334f7a08e7acd6906f",
                "sha256": "a0a1344a0e5da7f72ec8bac6fc6c3f1812422f2c7cf37206a0925f4418d0265f"
            },
            "downloads": -1,
            "filename": "temporian-0.9.0-cp39-cp39-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "f903750af06e29334f7a08e7acd6906f",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<3.12,>=3.8",
            "size": 698768,
            "upload_time": "2024-04-16T17:40:35",
            "upload_time_iso_8601": "2024-04-16T17:40:35.872053Z",
            "url": "https://files.pythonhosted.org/packages/c4/a4/14990a9233b2108c1f7e00c4c77d8653f47a993d8d404a54e2bdd01bb739/temporian-0.9.0-cp39-cp39-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "693ca34c187de605629edcacd5c8b91a1084f1bc0a97914e73fa50999a971e21",
                "md5": "d5836ddb072ed9619fcf81de3df0885d",
                "sha256": "98fcb700c7b708e62e5b53f56cb99b445944dc4a6d0f218ec38d0b1744a75b26"
            },
            "downloads": -1,
            "filename": "temporian-0.9.0-cp39-cp39-macosx_14_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d5836ddb072ed9619fcf81de3df0885d",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<3.12,>=3.8",
            "size": 703526,
            "upload_time": "2024-04-16T17:40:37",
            "upload_time_iso_8601": "2024-04-16T17:40:37.734225Z",
            "url": "https://files.pythonhosted.org/packages/69/3c/a34c187de605629edcacd5c8b91a1084f1bc0a97914e73fa50999a971e21/temporian-0.9.0-cp39-cp39-macosx_14_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fe01c6525f122dde025eff70bb983fe3862f5eeb372b5a01ed3a58f9c6d44e47",
                "md5": "8bfb6503762ae5f0b2523c7b037ab8bc",
                "sha256": "a98f04d57da15e7989ea4d242ecef2ad25325bced4d14997f8db870b5baf6a4b"
            },
            "downloads": -1,
            "filename": "temporian-0.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8bfb6503762ae5f0b2523c7b037ab8bc",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<3.12,>=3.8",
            "size": 761883,
            "upload_time": "2024-04-16T17:40:39",
            "upload_time_iso_8601": "2024-04-16T17:40:39.211106Z",
            "url": "https://files.pythonhosted.org/packages/fe/01/c6525f122dde025eff70bb983fe3862f5eeb372b5a01ed3a58f9c6d44e47/temporian-0.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5bf1655bbe5efdc29f5f90168d53e36655003cd3fe743da8c2ef8763ce0a7772",
                "md5": "3e4d3e4d1e331c0e9c5e631760b3154e",
                "sha256": "437c34fa5d8f4f24eb0bb8f41e6888e02fd6e7e252a0e12a71e70da1e35cd869"
            },
            "downloads": -1,
            "filename": "temporian-0.9.0.tar.gz",
            "has_sig": false,
            "md5_digest": "3e4d3e4d1e331c0e9c5e631760b3154e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.12,>=3.8",
            "size": 255629,
            "upload_time": "2024-04-16T17:40:41",
            "upload_time_iso_8601": "2024-04-16T17:40:41.152275Z",
            "url": "https://files.pythonhosted.org/packages/5b/f1/655bbe5efdc29f5f90168d53e36655003cd3fe743da8c2ef8763ce0a7772/temporian-0.9.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-16 17:40:41",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "google",
    "github_project": "temporian",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "temporian"
}
        
Elapsed time: 0.25339s