Mise à jour de Monitor.py et autres scripts

This commit is contained in:
Debian
2025-07-23 10:46:27 +02:00
parent 7081418ce0
commit 7de3e0fb50
8604 changed files with 2789953 additions and 295 deletions

View File

@@ -0,0 +1,290 @@
Metadata-Version: 2.4
Name: narwhals
Version: 1.47.1
Summary: Extremely lightweight compatibility layer between dataframe libraries
Project-URL: Homepage, https://github.com/narwhals-dev/narwhals
Project-URL: Documentation, https://narwhals-dev.github.io/narwhals/
Project-URL: Repository, https://github.com/narwhals-dev/narwhals
Project-URL: Bug Tracker, https://github.com/narwhals-dev/narwhals/issues
Author-email: Marco Gorelli <hello_narwhals@proton.me>
License-File: LICENSE.md
Keywords: cudf,dask,dataframes,interoperability,modin,pandas,polars,pyarrow
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Typing :: Typed
Requires-Python: >=3.9
Provides-Extra: cudf
Requires-Dist: cudf>=24.10.0; extra == 'cudf'
Provides-Extra: dask
Requires-Dist: dask[dataframe]>=2024.8; extra == 'dask'
Provides-Extra: duckdb
Requires-Dist: duckdb>=1.0; extra == 'duckdb'
Provides-Extra: ibis
Requires-Dist: ibis-framework>=6.0.0; extra == 'ibis'
Requires-Dist: packaging; extra == 'ibis'
Requires-Dist: pyarrow-hotfix; extra == 'ibis'
Requires-Dist: rich; extra == 'ibis'
Provides-Extra: modin
Requires-Dist: modin; extra == 'modin'
Provides-Extra: pandas
Requires-Dist: pandas>=1.1.3; extra == 'pandas'
Provides-Extra: polars
Requires-Dist: polars>=0.20.4; extra == 'polars'
Provides-Extra: pyarrow
Requires-Dist: pyarrow>=13.0.0; extra == 'pyarrow'
Provides-Extra: pyspark
Requires-Dist: pyspark>=3.5.0; extra == 'pyspark'
Provides-Extra: pyspark-connect
Requires-Dist: pyspark[connect]>=3.5.0; extra == 'pyspark-connect'
Provides-Extra: sqlframe
Requires-Dist: sqlframe>=3.22.0; extra == 'sqlframe'
Description-Content-Type: text/markdown
# Narwhals
<h1 align="center">
<img
width="400"
alt="narwhals_small"
src="https://github.com/narwhals-dev/narwhals/assets/33491632/26be901e-5383-49f2-9fbd-5c97b7696f27">
</h1>
[![PyPI version](https://badge.fury.io/py/narwhals.svg)](https://badge.fury.io/py/narwhals)
[![Downloads](https://static.pepy.tech/badge/narwhals/month)](https://pepy.tech/project/narwhals)
[![Trusted publishing](https://img.shields.io/badge/Trusted_publishing-Provides_attestations-bright_green)](https://peps.python.org/pep-0740/)
[![PYPI - Types](https://img.shields.io/pypi/types/narwhals)](https://pypi.org/project/narwhals)
Extremely lightweight and extensible compatibility layer between dataframe libraries!
- **Full API support**: cuDF, Modin, pandas, Polars, PyArrow.
- **Lazy-only support**: Dask, DuckDB, Ibis, PySpark, SQLFrame. Work in progress: Daft.
Seamlessly support all, without depending on any!
- ✅ **Just use** [a subset of **the Polars API**](https://narwhals-dev.github.io/narwhals/api-reference/), no need to learn anything new
- ✅ **Zero dependencies**, Narwhals only uses what
the user passes in so your library can stay lightweight
- ✅ Separate **lazy** and eager APIs, use **expressions**
- ✅ Support pandas' complicated type system and index, without
either getting in the way
- ✅ **100% branch coverage**, tested against pandas and Polars nightly builds
- ✅ **Negligible overhead**, see [overhead](https://narwhals-dev.github.io/narwhals/overhead/)
- ✅ Let your IDE help you thanks to **full static typing**, see [typing](https://narwhals-dev.github.io/narwhals/api-reference/typing/)
- ✅ **Perfect backwards compatibility policy**,
see [stable api](https://narwhals-dev.github.io/narwhals/backcompat/) for how to opt-in
Get started!
- [Read the documentation](https://narwhals-dev.github.io/narwhals/)
- [Chat with us on Discord!](https://discord.gg/V3PqtB4VA4)
- [Join our community call](https://calendar.google.com/calendar/embed?src=27ff6dc5f598c1d94c1f6e627a1aaae680e2fac88f848bda1f2c7946ae74d5ab%40group.calendar.google.com)
- [Read the contributing guide](https://github.com/narwhals-dev/narwhals/blob/main/CONTRIBUTING.md)
<details>
<summary>Table of contents</summary>
- [Narwhals](#narwhals)
- [Installation](#installation)
- [Usage](#usage)
- [Example](#example)
- [Scope](#scope)
- [Roadmap](#roadmap)
- [Used by](#used-by)
- [Sponsors and institutional partners](#sponsors-and-institutional-partners)
- [Appears on](#appears-on)
- [Why "Narwhals"?](#why-narwhals)
</details>
## Installation
- pip (recommended, as it's the most up-to-date)
```
pip install narwhals
```
- conda-forge (also fine, but the latest version may take longer to appear)
```
conda install -c conda-forge narwhals
```
## Usage
There are three steps to writing dataframe-agnostic code using Narwhals:
1. use `narwhals.from_native` to wrap a pandas/Polars/Modin/cuDF/PyArrow
DataFrame/LazyFrame in a Narwhals class
2. use the [subset of the Polars API supported by Narwhals](https://narwhals-dev.github.io/narwhals/api-reference/)
3. use `narwhals.to_native` to return an object to the user in its original
dataframe flavour. For example:
- if you started with pandas, you'll get pandas back
- if you started with Polars, you'll get Polars back
- if you started with Modin, you'll get Modin back (and compute will be distributed)
- if you started with cuDF, you'll get cuDF back (and compute will happen on GPU)
- if you started with PyArrow, you'll get PyArrow back
<h1 align="left">
<img
width="600"
alt="narwhals_gif"
src="https://github.com/user-attachments/assets/88292d3c-6359-4155-973d-d0f8e3fbf5ac">
</h1>
## Example
Narwhals allows you to define dataframe-agnostic functions. For example:
```python
import narwhals as nw
from narwhals.typing import IntoFrameT
def agnostic_function(
df_native: IntoFrameT,
date_column: str,
price_column: str,
) -> IntoFrameT:
return (
nw.from_native(df_native)
.group_by(nw.col(date_column).dt.truncate("1mo"))
.agg(nw.col(price_column).mean())
.sort(date_column)
.to_native()
)
```
You can then pass `pandas.DataFrame`, `polars.DataFrame`, `polars.LazyFrame`, `duckdb.DuckDBPyRelation`,
`pyspark.sql.DataFrame`, `pyarrow.Table`, and more, to `agnostic_function`. In each case, no additional
dependencies will be required, and computation will stay native to the input library:
```python
import pandas as pd
import polars as pl
from datetime import datetime
data = {
"date": [datetime(2020, 1, 1), datetime(2020, 1, 8), datetime(2020, 2, 3)],
"price": [1, 4, 3],
}
print("pandas result:")
print(agnostic_function(pd.DataFrame(data), "date", "price"))
print()
print("Polars result:")
print(agnostic_function(pl.DataFrame(data), "date", "price"))
```
```terminal
pandas result:
date price
0 2020-01-01 2.5
1 2020-02-01 3.0
Polars result:
shape: (2, 2)
┌─────────────────────┬───────┐
│ date ┆ price │
│ --- ┆ --- │
│ datetime[μs] ┆ f64 │
╞═════════════════════╪═══════╡
│ 2020-01-01 00:00:00 ┆ 2.5 │
│ 2020-02-01 00:00:00 ┆ 3.0 │
└─────────────────────┴───────┘
```
See the [tutorial](https://narwhals-dev.github.io/narwhals/basics/dataframe/) for several examples!
## Scope
- Do you maintain a dataframe-consuming library?
- Do you have a specific Polars function in mind that you would like Narwhals to have in order to make your work easier?
If you said yes to both, we'd love to hear from you!
## Roadmap
See [roadmap discussion on GitHub](https://github.com/narwhals-dev/narwhals/discussions/1370)
for an up-to-date plan of future work.
## Used by
Join the party!
- [altair](https://github.com/vega/altair/)
- [bokeh](https://github.com/bokeh/bokeh)
- [darts](https://github.com/unit8co/darts)
- [formulaic](https://github.com/matthewwardrop/formulaic)
- [hierarchicalforecast](https://github.com/Nixtla/hierarchicalforecast)
- [marimo](https://github.com/marimo-team/marimo)
- [metalearners](https://github.com/Quantco/metalearners)
- [panel-graphic-walker](https://github.com/panel-extensions/panel-graphic-walker)
- [plotly](https://plotly.com)
- [pointblank](https://github.com/posit-dev/pointblank)
- [pymarginaleffects](https://github.com/vincentarelbundock/pymarginaleffects)
- [py-shiny](https://github.com/posit-dev/py-shiny)
- [rio](https://github.com/rio-labs/rio)
- [scikit-lego](https://github.com/koaning/scikit-lego)
- [scikit-playtime](https://github.com/koaning/scikit-playtime)
- [tabmat](https://github.com/Quantco/tabmat)
- [tea-tasting](https://github.com/e10v/tea-tasting)
- [timebasedcv](https://github.com/FBruzzesi/timebasedcv)
- [tubular](https://github.com/lvgig/tubular)
- [Validoopsie](https://github.com/akmalsoliev/Validoopsie)
- [vegafusion](https://github.com/vega/vegafusion)
- [wimsey](https://github.com/benrutter/wimsey)
Feel free to add your project to the list if it's missing, and/or
[chat with us on Discord](https://discord.gg/V3PqtB4VA4) if you'd like any support.
## Sponsors and institutional partners
Narwhals is 100% independent, community-driven, and community-owned.
We are extremely grateful to the following organisations for having
provided some funding / development time:
- [Quansight Labs](https://labs.quansight.org)
- [Quansight Futures](https://www.qi.ventures)
- [OpenTeams](https://www.openteams.com)
- [POSSEE initiative](https://possee.org)
- [BYU-Idaho](https://www.byui.edu)
If you contribute to Narwhals on your organization's time, please let us know. We'd be happy to add your employer
to this list!
## Appears on
Narwhals has been featured in several talks, podcasts, and blog posts:
- [Talk Python to me Podcast](https://youtu.be/FSH7BZ0tuE0)
Ahoy, Narwhals are bridging the data science APIs
- [Python Bytes Podcast](https://www.youtube.com/live/N7w_ESVW40I?si=y-wN1uCsAuJOKlOT&t=382)
Episode 402, topic #2
- [Super Data Science: ML & AI Podcast](https://www.youtube.com/watch?v=TeG4U8R0U8U)
Narwhals: For Pandas-to-Polars DataFrame Compatibility
- [Sample Space Podcast | probabl](https://youtu.be/8hYdq4sWbbQ?si=WG0QP1CZ6gkFf18b)
How Narwhals has many end users ... that never use it directly. - Marco Gorelli
- [The Real Python Podcast](https://www.youtube.com/watch?v=w5DFZbFYzCM)
Narwhals: Expanding DataFrame Compatibility Between Libraries
- [Pycon Lithuania](https://www.youtube.com/watch?v=-mdx7Cn6_6E)
Marco Gorelli - DataFrame interoperatiblity - what's been achieved, and what comes next?
- [Pycon Italy](https://www.youtube.com/watch?v=3IqUli9XsmQ)
How you can write a dataframe-agnostic library - Marco Gorelli
- [Polars Blog Post](https://pola.rs/posts/lightweight_plotting/)
Polars has a new lightweight plotting backend
- [Quansight Labs blog post (w/ Scikit-Lego)](https://labs.quansight.org/blog/scikit-lego-narwhals)
How Narwhals and scikit-lego came together to achieve dataframe-agnosticism
## Why "Narwhals"?
[Coz they are so awesome](https://youtu.be/ykwqXuMPsoc?si=A-i8LdR38teYsos4).
Thanks to [Olha Urdeichuk](https://www.fiverr.com/olhaurdeichuk) for the illustration!

View File

@@ -0,0 +1,280 @@
narwhals-1.47.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
narwhals-1.47.1.dist-info/METADATA,sha256=dT_mummap3xecAmPO9DuzItolXGbh0wwkPgWUlDdpLM,11162
narwhals-1.47.1.dist-info/RECORD,,
narwhals-1.47.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
narwhals-1.47.1.dist-info/licenses/LICENSE.md,sha256=heMD6hta6RzeBucppx59AUCgr_ukRY0ABj0bcrN3mKs,1071
narwhals/__init__.py,sha256=Ahtpd4Dgkq_ODlTmlMpLibTohwXo-bhZ5wf85YADx04,3256
narwhals/__pycache__/__init__.cpython-311.pyc,,
narwhals/__pycache__/_constants.cpython-311.pyc,,
narwhals/__pycache__/_duration.cpython-311.pyc,,
narwhals/__pycache__/_enum.cpython-311.pyc,,
narwhals/__pycache__/_expression_parsing.cpython-311.pyc,,
narwhals/__pycache__/_namespace.cpython-311.pyc,,
narwhals/__pycache__/_translate.cpython-311.pyc,,
narwhals/__pycache__/_typing_compat.cpython-311.pyc,,
narwhals/__pycache__/_utils.cpython-311.pyc,,
narwhals/__pycache__/dataframe.cpython-311.pyc,,
narwhals/__pycache__/dependencies.cpython-311.pyc,,
narwhals/__pycache__/dtypes.cpython-311.pyc,,
narwhals/__pycache__/exceptions.cpython-311.pyc,,
narwhals/__pycache__/expr.cpython-311.pyc,,
narwhals/__pycache__/expr_cat.cpython-311.pyc,,
narwhals/__pycache__/expr_dt.cpython-311.pyc,,
narwhals/__pycache__/expr_list.cpython-311.pyc,,
narwhals/__pycache__/expr_name.cpython-311.pyc,,
narwhals/__pycache__/expr_str.cpython-311.pyc,,
narwhals/__pycache__/expr_struct.cpython-311.pyc,,
narwhals/__pycache__/functions.cpython-311.pyc,,
narwhals/__pycache__/group_by.cpython-311.pyc,,
narwhals/__pycache__/schema.cpython-311.pyc,,
narwhals/__pycache__/selectors.cpython-311.pyc,,
narwhals/__pycache__/series.cpython-311.pyc,,
narwhals/__pycache__/series_cat.cpython-311.pyc,,
narwhals/__pycache__/series_dt.cpython-311.pyc,,
narwhals/__pycache__/series_list.cpython-311.pyc,,
narwhals/__pycache__/series_str.cpython-311.pyc,,
narwhals/__pycache__/series_struct.cpython-311.pyc,,
narwhals/__pycache__/this.cpython-311.pyc,,
narwhals/__pycache__/translate.cpython-311.pyc,,
narwhals/__pycache__/typing.cpython-311.pyc,,
narwhals/__pycache__/utils.cpython-311.pyc,,
narwhals/_arrow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
narwhals/_arrow/__pycache__/__init__.cpython-311.pyc,,
narwhals/_arrow/__pycache__/dataframe.cpython-311.pyc,,
narwhals/_arrow/__pycache__/expr.cpython-311.pyc,,
narwhals/_arrow/__pycache__/group_by.cpython-311.pyc,,
narwhals/_arrow/__pycache__/namespace.cpython-311.pyc,,
narwhals/_arrow/__pycache__/selectors.cpython-311.pyc,,
narwhals/_arrow/__pycache__/series.cpython-311.pyc,,
narwhals/_arrow/__pycache__/series_cat.cpython-311.pyc,,
narwhals/_arrow/__pycache__/series_dt.cpython-311.pyc,,
narwhals/_arrow/__pycache__/series_list.cpython-311.pyc,,
narwhals/_arrow/__pycache__/series_str.cpython-311.pyc,,
narwhals/_arrow/__pycache__/series_struct.cpython-311.pyc,,
narwhals/_arrow/__pycache__/typing.cpython-311.pyc,,
narwhals/_arrow/__pycache__/utils.cpython-311.pyc,,
narwhals/_arrow/dataframe.py,sha256=QDZijk-htDGuh13pDFU2r6umPwngoGtTKLo1gVLEQcU,27943
narwhals/_arrow/expr.py,sha256=fzEgEwVXETPfoxyvsI7fwTRGuh_t7BNCih0QP-fK4Io,6436
narwhals/_arrow/group_by.py,sha256=VJnLg-0iOGHx-OyygsaFt_Q-nnIyzv-KPsDTAyYeu8w,6300
narwhals/_arrow/namespace.py,sha256=8vI3DvLUPcQaoxnC_MeAwsZW2hvz7Uqqlgj94JgEzhU,11876
narwhals/_arrow/selectors.py,sha256=XFJEk-bYr940BkhtQoeSfk4Fe5jdEVpR0Ad0Cbc8FxU,960
narwhals/_arrow/series.py,sha256=6RJ5K0xJatDmKQ4U8PLnCYFlgT5pn3qGkaeDLTpgLm4,43901
narwhals/_arrow/series_cat.py,sha256=vvNlPaHHcA-ORzh_79-oY03wt6aIg1rLI0At8FXr2Ok,598
narwhals/_arrow/series_dt.py,sha256=zF87NGKJeauZ9jxkHKNs6PVKDxLlOGdk1KinEto01yU,8946
narwhals/_arrow/series_list.py,sha256=EpSul8DmTjQW00NQ5nLn9ZBSSUR0uuZ0IK6TLX1utwI,421
narwhals/_arrow/series_str.py,sha256=iouTrb8GkJJlZc2ImMLRt8Knh3SvuygVmqORrJc_FSA,3998
narwhals/_arrow/series_struct.py,sha256=85pQSUqOdeMyjsnjaSr_4YBC2HRGD-dsnNy2tPveJRM,410
narwhals/_arrow/typing.py,sha256=TmgG8eqF4uCRW5NFzWTiBvlUGvD46govtIC8gRyrkmA,2286
narwhals/_arrow/utils.py,sha256=TSxQFYfkV7XvJKqp3LcuFDhIxTnUYn6bvYcUipkIaIs,16470
narwhals/_compliant/__init__.py,sha256=ytFEzHx1_arqVqCgs-SLj39LQqVLkWbbHNBnCODk8Rs,2535
narwhals/_compliant/__pycache__/__init__.cpython-311.pyc,,
narwhals/_compliant/__pycache__/any_namespace.cpython-311.pyc,,
narwhals/_compliant/__pycache__/dataframe.cpython-311.pyc,,
narwhals/_compliant/__pycache__/expr.cpython-311.pyc,,
narwhals/_compliant/__pycache__/group_by.cpython-311.pyc,,
narwhals/_compliant/__pycache__/namespace.cpython-311.pyc,,
narwhals/_compliant/__pycache__/selectors.cpython-311.pyc,,
narwhals/_compliant/__pycache__/series.cpython-311.pyc,,
narwhals/_compliant/__pycache__/typing.cpython-311.pyc,,
narwhals/_compliant/__pycache__/when_then.cpython-311.pyc,,
narwhals/_compliant/__pycache__/window.cpython-311.pyc,,
narwhals/_compliant/any_namespace.py,sha256=M-822dJoGwgfdCE9DsaIiH5YSQkzwIEeqbdarSPZKhA,3514
narwhals/_compliant/dataframe.py,sha256=a6TcZyhkIhYJX_OV2-iVI_o4ZIDMLINpqkxufq7g1-Q,17648
narwhals/_compliant/expr.py,sha256=vW2y4hp62NuaBg398cv2pLW_VYPp4QEB6iyOmsneRDY,44379
narwhals/_compliant/group_by.py,sha256=Epo__739034-GzEFE8SgyFBNLFbbi07RjBs1l6dEyVw,8100
narwhals/_compliant/namespace.py,sha256=-XR1GwKA4xu79FXaRV0xi1lDG_kIaK2SCHJIfDqcpko,7322
narwhals/_compliant/selectors.py,sha256=dAb0cJcoE-YRq6K1U1Qd2dqaJnm7Ytunz1i8XGbu_1g,11839
narwhals/_compliant/series.py,sha256=2fVDfM6sbFIh32uKA9WJITVulLyQvpvwYnPYZJp5kLk,14596
narwhals/_compliant/typing.py,sha256=Sb_Inr0dcrnEUNGfKKnmrs8blGa4ShzkKM4681OOqIY,7059
narwhals/_compliant/when_then.py,sha256=wEc8m5oXWMkyjqi8Q6xMnrSjNDtV9m-heUBR86dhah4,7884
narwhals/_compliant/window.py,sha256=_ji4goVKkT4YPTyZa_I0N2yGmwBfB1_LDG0WSXGbmlo,505
narwhals/_constants.py,sha256=kE1KWsIky4ryabH-Z117ZtGW24ccTcreWOZJjpacO6I,1094
narwhals/_dask/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
narwhals/_dask/__pycache__/__init__.cpython-311.pyc,,
narwhals/_dask/__pycache__/dataframe.cpython-311.pyc,,
narwhals/_dask/__pycache__/expr.cpython-311.pyc,,
narwhals/_dask/__pycache__/expr_dt.cpython-311.pyc,,
narwhals/_dask/__pycache__/expr_str.cpython-311.pyc,,
narwhals/_dask/__pycache__/group_by.cpython-311.pyc,,
narwhals/_dask/__pycache__/namespace.cpython-311.pyc,,
narwhals/_dask/__pycache__/selectors.cpython-311.pyc,,
narwhals/_dask/__pycache__/utils.cpython-311.pyc,,
narwhals/_dask/dataframe.py,sha256=-RxMukCWBR4Hum9rT_j-4rJjbaHpZAJIRj1QDia0uBM,17129
narwhals/_dask/expr.py,sha256=Swj-q8f8ELfCqOw2eam7O_To0FQh6o5XK2GM9k__NNI,24919
narwhals/_dask/expr_dt.py,sha256=J2j62PG8FAUXukYmrzOCPN79CW34H_i6BvL5_DykxQ4,6803
narwhals/_dask/expr_str.py,sha256=SrDcJq_3rHvx1jfQcfi07oS0SGnVkcLE6Xu3uPZfkuA,3558
narwhals/_dask/group_by.py,sha256=6BY5PJtOcIhcw8MjM3v62zGi2iIUF0uSCn0a0_7v9rQ,4266
narwhals/_dask/namespace.py,sha256=KgDrDI478VafKItAI6WqST7cPyxdH6ePbeihmRdhFiQ,13308
narwhals/_dask/selectors.py,sha256=kko1Mo7dAFcmo8OfvnOWqV7LyrfmfQdCKUcM4Q_pP7w,933
narwhals/_dask/utils.py,sha256=5awbPrqAG_vBgs-vydM6MBD2hMR9kb8Ojk_v0Fd8XJY,6536
narwhals/_duckdb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
narwhals/_duckdb/__pycache__/__init__.cpython-311.pyc,,
narwhals/_duckdb/__pycache__/dataframe.cpython-311.pyc,,
narwhals/_duckdb/__pycache__/expr.cpython-311.pyc,,
narwhals/_duckdb/__pycache__/expr_dt.cpython-311.pyc,,
narwhals/_duckdb/__pycache__/expr_list.cpython-311.pyc,,
narwhals/_duckdb/__pycache__/expr_str.cpython-311.pyc,,
narwhals/_duckdb/__pycache__/expr_struct.cpython-311.pyc,,
narwhals/_duckdb/__pycache__/group_by.cpython-311.pyc,,
narwhals/_duckdb/__pycache__/namespace.cpython-311.pyc,,
narwhals/_duckdb/__pycache__/selectors.cpython-311.pyc,,
narwhals/_duckdb/__pycache__/series.cpython-311.pyc,,
narwhals/_duckdb/__pycache__/typing.cpython-311.pyc,,
narwhals/_duckdb/__pycache__/utils.cpython-311.pyc,,
narwhals/_duckdb/dataframe.py,sha256=_jXZL_8kybgfYQyKw4O3tWuCuSFaoalF8YmS_F8S1oY,19210
narwhals/_duckdb/expr.py,sha256=H7GBiSrS40SC3WZ00UCUNYD5vTZS23zp7izyNYLxN70,30599
narwhals/_duckdb/expr_dt.py,sha256=BTR8AtFkNpZlIF43YIRLxHc_MYWUZZS6A0Ujsu0pwK0,5904
narwhals/_duckdb/expr_list.py,sha256=NSOiQqowuZXs1OctXmR2coBtwKlvh8kq6jQFeiZpjTs,496
narwhals/_duckdb/expr_str.py,sha256=Y_NGStrPSKAGNmj2pv9kQ9qGgjB8WPBuWrsN2TC4djY,4754
narwhals/_duckdb/expr_struct.py,sha256=eN06QA1JS6wjAt7_AZzW3xoztHM_hoadlFUl_hwsEiE,576
narwhals/_duckdb/group_by.py,sha256=s4zQulWKM2veH_ynUsqOJz5vuMdS_HSwYnpLpsB8-D8,1122
narwhals/_duckdb/namespace.py,sha256=uvnPkJyM6FdsicCINHxQmIsXPILaucn3isIwKvQTPC0,7161
narwhals/_duckdb/selectors.py,sha256=gYBh0tLg1bQunLAY1ctG24h9SkLarHa1Jv30OIP426E,916
narwhals/_duckdb/series.py,sha256=xBpuPUnSSIQ1vYEKjHQFZN7ix1ZyMwSchliDPpkf3Wk,1397
narwhals/_duckdb/typing.py,sha256=mH_Q7yE1Rfh8-OXJlOdbHqc6Kq5WeHIqhTNOUD-5WGQ,440
narwhals/_duckdb/utils.py,sha256=Gj57Ihe5PBRu77QDcTHdwtpTGD5cRGCq_7jzxt_qSuQ,13757
narwhals/_duration.py,sha256=WGzj3FVcC2KogqRhNeim3YDIwUn8HkXQHAljtvHrjwQ,3139
narwhals/_enum.py,sha256=sUR-04yIwjAMsX5eelKnc1UKXc5dBoj1do0krubAE04,1192
narwhals/_expression_parsing.py,sha256=1Ej5zBkv-bTSJNNfFllPZGqa7XQxreX8IoYz_x02gKA,23028
narwhals/_ibis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
narwhals/_ibis/__pycache__/__init__.cpython-311.pyc,,
narwhals/_ibis/__pycache__/dataframe.cpython-311.pyc,,
narwhals/_ibis/__pycache__/expr.cpython-311.pyc,,
narwhals/_ibis/__pycache__/expr_dt.cpython-311.pyc,,
narwhals/_ibis/__pycache__/expr_list.cpython-311.pyc,,
narwhals/_ibis/__pycache__/expr_str.cpython-311.pyc,,
narwhals/_ibis/__pycache__/expr_struct.cpython-311.pyc,,
narwhals/_ibis/__pycache__/group_by.cpython-311.pyc,,
narwhals/_ibis/__pycache__/namespace.cpython-311.pyc,,
narwhals/_ibis/__pycache__/selectors.cpython-311.pyc,,
narwhals/_ibis/__pycache__/series.cpython-311.pyc,,
narwhals/_ibis/__pycache__/utils.cpython-311.pyc,,
narwhals/_ibis/dataframe.py,sha256=jjCeTDDmV1-NaZAxH7IH_p-sCFOJkXFcTDtbmpzCzVM,15642
narwhals/_ibis/expr.py,sha256=Jirg0w0OKH1YTtP-F77-GXBQqkOX-aO3NRXw68LoJeU,23810
narwhals/_ibis/expr_dt.py,sha256=4BmiVw2lRR7rbvOHDIPLHazDcHY-LAqjL_MYzKoslpA,4273
narwhals/_ibis/expr_list.py,sha256=CFsrJtcFPfx9UYZsHRWexNDTeajuntrJLOP4UaN2q54,437
narwhals/_ibis/expr_str.py,sha256=-RlnJ1N7b8ffXr-gmfXuhN6Y-LQxhXs9POEqRLVTCS8,5023
narwhals/_ibis/expr_struct.py,sha256=FDsa5MqcHhqPmpZIEfGBASdqxPkyImrlGTH7XUSw3cs,565
narwhals/_ibis/group_by.py,sha256=1vSgGA9awkbQV2gesr_G_CxUsV2ulLqTQJ8yj5GFnOE,1030
narwhals/_ibis/namespace.py,sha256=MVhT8LJPvHbjQl3t0hRjcphvncpexzfTtya-peuIse0,6755
narwhals/_ibis/selectors.py,sha256=CpTHMqqaCkPdPwHedMGolyj2pmlsnO9-cZhXx1wuFj4,850
narwhals/_ibis/series.py,sha256=CZDwDPsdELKtdr7OWmcFyGqexr33Ucfnv_RU95VJxIQ,1218
narwhals/_ibis/utils.py,sha256=gjiDbCGJfsZut10F0tUCj4ihWJZRZD2Kdi2pE57CTgo,8493
narwhals/_interchange/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
narwhals/_interchange/__pycache__/__init__.cpython-311.pyc,,
narwhals/_interchange/__pycache__/dataframe.cpython-311.pyc,,
narwhals/_interchange/__pycache__/series.cpython-311.pyc,,
narwhals/_interchange/dataframe.py,sha256=GWlbo9OqzQh-Y-uevJ1Kr762oaFHqFJSc3ql00LDH9w,5921
narwhals/_interchange/series.py,sha256=nSxdlOZrw3wtavS42TMR_b_EGgPBv224ioZBMo5eoC8,1651
narwhals/_namespace.py,sha256=ZWX2L1Vivjcq50-E9JgZmwZ3s4DEdbAmNCSp5eViXcE,15434
narwhals/_pandas_like/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
narwhals/_pandas_like/__pycache__/__init__.cpython-311.pyc,,
narwhals/_pandas_like/__pycache__/dataframe.cpython-311.pyc,,
narwhals/_pandas_like/__pycache__/expr.cpython-311.pyc,,
narwhals/_pandas_like/__pycache__/group_by.cpython-311.pyc,,
narwhals/_pandas_like/__pycache__/namespace.cpython-311.pyc,,
narwhals/_pandas_like/__pycache__/selectors.cpython-311.pyc,,
narwhals/_pandas_like/__pycache__/series.cpython-311.pyc,,
narwhals/_pandas_like/__pycache__/series_cat.cpython-311.pyc,,
narwhals/_pandas_like/__pycache__/series_dt.cpython-311.pyc,,
narwhals/_pandas_like/__pycache__/series_list.cpython-311.pyc,,
narwhals/_pandas_like/__pycache__/series_str.cpython-311.pyc,,
narwhals/_pandas_like/__pycache__/series_struct.cpython-311.pyc,,
narwhals/_pandas_like/__pycache__/typing.cpython-311.pyc,,
narwhals/_pandas_like/__pycache__/utils.cpython-311.pyc,,
narwhals/_pandas_like/dataframe.py,sha256=cbu3x-_trNgZDNvG0ZDp0NMlAQuuTHONT-vm-2pR24k,41806
narwhals/_pandas_like/expr.py,sha256=TH1R3ySx2MAAopASc6vW9wIa3DYIaVH7hBsM-Yn6kK8,14833
narwhals/_pandas_like/group_by.py,sha256=o3nOOx3nAwWcgBwqHJg_A5zAdetKky-QpVLilwCArTk,11698
narwhals/_pandas_like/namespace.py,sha256=pgx149IFqyUR6XecOSHzwohMv3PIaU_c1kAUoJZxoyE,16498
narwhals/_pandas_like/selectors.py,sha256=M7hgGq-3-nFapVw_XmaPgUQwp_rB2xV5XZu7XwoKzio,1093
narwhals/_pandas_like/series.py,sha256=8RnpcXWOOEV7MT25HbZgqFOaMyzMC8xsbjt7mvHkhCE,40992
narwhals/_pandas_like/series_cat.py,sha256=MJwCnJ49hfnODh6JgMHOCQ2KBlTbmySU6_X4XWaqiz4,527
narwhals/_pandas_like/series_dt.py,sha256=nV4LmocY1SawVsrYULyREbX2NPAMjb94L0dcGJJY8IQ,11625
narwhals/_pandas_like/series_list.py,sha256=mM2CB63Z8uLgpxVvbcIlfp18rDBRXvXK95vJ75Oj3dg,1109
narwhals/_pandas_like/series_str.py,sha256=r_iqLsVZt29ZqGKKcdHupqlror_C8VDU04twU48L3dc,3680
narwhals/_pandas_like/series_struct.py,sha256=vX9HoO42vHackvVozUfp8odM9uJ4owct49ydKDnohdk,518
narwhals/_pandas_like/typing.py,sha256=Awm2YnewvdA3l_4SEwb_5AithhwBYNx1t1ajaHnvUsM,1064
narwhals/_pandas_like/utils.py,sha256=uB-SUjmlJzFwCxlmFNCXgNQQexGjr8l9xupyg9Vs7oU,25701
narwhals/_polars/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
narwhals/_polars/__pycache__/__init__.cpython-311.pyc,,
narwhals/_polars/__pycache__/dataframe.cpython-311.pyc,,
narwhals/_polars/__pycache__/expr.cpython-311.pyc,,
narwhals/_polars/__pycache__/group_by.cpython-311.pyc,,
narwhals/_polars/__pycache__/namespace.cpython-311.pyc,,
narwhals/_polars/__pycache__/series.cpython-311.pyc,,
narwhals/_polars/__pycache__/typing.cpython-311.pyc,,
narwhals/_polars/__pycache__/utils.cpython-311.pyc,,
narwhals/_polars/dataframe.py,sha256=Jjg8h_CEJvvTvpnpnldMFoCjzE7ekTh_SlZzPr3C4Gc,22134
narwhals/_polars/expr.py,sha256=r1iL1kN7aLyktu7cVn1ZFEhs_x0_F0y4x_p5wHp7qYs,16709
narwhals/_polars/group_by.py,sha256=v88hD-rOCNtCeT_YqMVII2V1c1B5TEwd0s6qOa1yXb4,2491
narwhals/_polars/namespace.py,sha256=rAJ3rvTjDYTS-zW8puOZ_No4Vw8BunAB3_0O8Gq_DuM,9949
narwhals/_polars/series.py,sha256=TcXXEuB-j3lzUEvpDD0prroXDsIcdYMmdKJsqPzP43c,25013
narwhals/_polars/typing.py,sha256=iBAA0Z0FT6vG4Zxn-Z9pCLcHnrkKtyIUAeM-mOxlBJU,655
narwhals/_polars/utils.py,sha256=KIdvtG0zt245pzyDugCtWCtX6aM-mQy3AKQVk_FiK2E,8559
narwhals/_spark_like/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
narwhals/_spark_like/__pycache__/__init__.cpython-311.pyc,,
narwhals/_spark_like/__pycache__/dataframe.cpython-311.pyc,,
narwhals/_spark_like/__pycache__/expr.cpython-311.pyc,,
narwhals/_spark_like/__pycache__/expr_dt.cpython-311.pyc,,
narwhals/_spark_like/__pycache__/expr_list.cpython-311.pyc,,
narwhals/_spark_like/__pycache__/expr_str.cpython-311.pyc,,
narwhals/_spark_like/__pycache__/expr_struct.cpython-311.pyc,,
narwhals/_spark_like/__pycache__/group_by.cpython-311.pyc,,
narwhals/_spark_like/__pycache__/namespace.cpython-311.pyc,,
narwhals/_spark_like/__pycache__/selectors.cpython-311.pyc,,
narwhals/_spark_like/__pycache__/utils.cpython-311.pyc,,
narwhals/_spark_like/dataframe.py,sha256=OkXxuTI7vzv5x0v-zLI2nWjOnDzshPZYaOn7FhmzcfE,21654
narwhals/_spark_like/expr.py,sha256=O6Iqz47OADUZjPoC-2cmxTXlRHuude19lQsFX4jG8L8,33637
narwhals/_spark_like/expr_dt.py,sha256=w1C0njwHj8Y67r7_KTOKV6Eq_fN6fHfswuW9Xx-D_mo,8594
narwhals/_spark_like/expr_list.py,sha256=Z779VSDBT-gNrahr_IKrqiuhw709gR9SclctVBLSRbc,479
narwhals/_spark_like/expr_str.py,sha256=IVEdsueMJ-xKgi3ZLt1M3rLFwDMr1YkLTLuHq_0veSI,5739
narwhals/_spark_like/expr_struct.py,sha256=haBDpuRhn_nGAFjMF3arhhRr6NfefNei9vEmAOa0fQI,613
narwhals/_spark_like/group_by.py,sha256=DJsR4558F8jsiaEQHpox09heEvWKuG39aAPQq-Tqel4,1245
narwhals/_spark_like/namespace.py,sha256=EbkXlXRfVmcF7KsVE3oiRoh0WTNENnPnZbrIDHdW3GI,9569
narwhals/_spark_like/selectors.py,sha256=xmJcyMq-gEL1elSS0W6NIyw6BzfZ_FBpNJ-hr90hVQQ,967
narwhals/_spark_like/utils.py,sha256=sJIq-Kvh8zUUfYDxNKzXAspD3PQYMsXcUSjnxlPvVsI,11537
narwhals/_translate.py,sha256=e8RjNCNX4QGJWKjM6VANDTG_bVT2VusjNfjsnkCBO3g,6112
narwhals/_typing_compat.py,sha256=ZZgMwNcF7RCjBnsVoMl1rAH7ZB2DYFM3jkLC5g0Cmfc,2916
narwhals/_utils.py,sha256=IYqT2l0lDtPw1GwFLB2R_xQTF4Df4QrkEJZxwHztijY,66844
narwhals/dataframe.py,sha256=PLZRVZZImYdymQux6To8BupAgjt-9rDMsy1vT7OP_M8,127444
narwhals/dependencies.py,sha256=vxcpeTeBsEqPzQ0geAN49VGELex8aVGVGm4WlyeUA3I,18717
narwhals/dtypes.py,sha256=q76kn1IaU-hROpPP7xhWTPncdKF9FG5OXxZ1aXSzEBk,23320
narwhals/exceptions.py,sha256=Vqp6F1qwc3lbEcz4tp6lw-nrUNPjBbUVlEpqch6ZrW8,3663
narwhals/expr.py,sha256=y761hBZucL9hXH73MIPCz39DRutr9t9v3jJa-GWPBw8,106895
narwhals/expr_cat.py,sha256=ujxoF_OM-R1G-lGjeZGovltpLDlaoWPUpbowr2ZoYPs,1258
narwhals/expr_dt.py,sha256=4sg37zo_S-kfQ20K7X8ZHhxcxp3NNtbpOfwbi-2GBa8,33624
narwhals/expr_list.py,sha256=6x1m8n_WMfx68oAbKsuPl93Lah3Ily9E5bEpxpkwNbw,1769
narwhals/expr_name.py,sha256=W3qR1wKdvWNC6feSknpTZy_EPvyfSneV7Y7Zw3Ekyjo,5994
narwhals/expr_str.py,sha256=kO51GheSOsjUVsR_8Enf62qfOz4_2G4C-N-H5uIx1f4,20287
narwhals/expr_struct.py,sha256=GYD-Btem8zp5aFw2qDfkZntjx-Uzz_J-_GBT2b9bB4Y,1790
narwhals/functions.py,sha256=qGKrbnHodCIWrXH3o7l8PsnCTrJJ_RJjluuAeYkGbwY,70961
narwhals/group_by.py,sha256=4Hmiap6ri94owOWkps4ODQTbxMKKJUW56Hb_DEAgYJo,7258
narwhals/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
narwhals/schema.py,sha256=UTlCAu6ynn5CqUH1miEisPllaxFLfi90djE9Se9I7Ek,6283
narwhals/selectors.py,sha256=ybbFG7Sjebr8qoMgD43O6QuHBGl52yUpGRe08L1LKyo,10759
narwhals/series.py,sha256=kc4RxRhcpP43ugtUOQdfmhywQxSW0PBbocs3UFqlQUA,90269
narwhals/series_cat.py,sha256=I5osb8Fj04iWqfEWjiyhVPiFYe3Kk_mTZXZjwn3jnRc,911
narwhals/series_dt.py,sha256=jLuDEc2ieyCiR30oIiUVRsfHZpm8kIFsowoLt8rGY10,25299
narwhals/series_list.py,sha256=NznN1Z50RSGX4uQBO4OBMtu7YBHRM58tgPKoJjmOrDg,1041
narwhals/series_str.py,sha256=rl8KlB5z_iGFGWNtsy3OxdkXZWfxOpVhhRkHIbqfmDw,16565
narwhals/series_struct.py,sha256=pmKigkmKe8m-40X9UWW5_8PLqNzHIKubElv2V2Ohu4I,974
narwhals/stable/__init__.py,sha256=b9soCkGkQzgF5jO5EdQ6IOQpnc6G6eqWmY6WwpoSjhk,85
narwhals/stable/__pycache__/__init__.cpython-311.pyc,,
narwhals/stable/v1/__init__.py,sha256=I1Hj-Vd02EYS3v9mC3DcUYpE8E9A5mhpYw_luYh0ZQs,60956
narwhals/stable/v1/__pycache__/__init__.cpython-311.pyc,,
narwhals/stable/v1/__pycache__/_dtypes.cpython-311.pyc,,
narwhals/stable/v1/__pycache__/_namespace.cpython-311.pyc,,
narwhals/stable/v1/__pycache__/dependencies.cpython-311.pyc,,
narwhals/stable/v1/__pycache__/dtypes.cpython-311.pyc,,
narwhals/stable/v1/__pycache__/selectors.cpython-311.pyc,,
narwhals/stable/v1/__pycache__/typing.cpython-311.pyc,,
narwhals/stable/v1/_dtypes.py,sha256=7zGmarnurUTgY6DI4KQ1MSAC7B9ZZiI5Em7plb-HAEs,2700
narwhals/stable/v1/_namespace.py,sha256=gfsbT4R4aLmmdArY35LRpEHPiUeZKEEnXGiY9ypFtwE,296
narwhals/stable/v1/dependencies.py,sha256=aM0IShF4hbaaMEDRJQXvsu4RABZOdBG4QhrpJPxb7fg,5001
narwhals/stable/v1/dtypes.py,sha256=u2NFDJyCkjsK6p3K9ULJS7CoG16z0Z1MQiACTVkhkH4,1082
narwhals/stable/v1/selectors.py,sha256=xEA9bBzkpTwUanGGoFwBCcHIAXb8alwrPX1mjzE9mDM,312
narwhals/stable/v1/typing.py,sha256=HFIIvrvir15JN6jVDMgEPV7Fry3TQSPz7l47yzP-7Ms,6896
narwhals/this.py,sha256=BbKcj0ReWqE01lznzKjuqq7otXONvjBevWWC5aJhQxs,1584
narwhals/translate.py,sha256=qgvKGAYHyY7r_RJUNuFFCPtTYH-QgL9v3rgUFhNmohQ,27375
narwhals/typing.py,sha256=YYajUDHIrMaa1pFbshvWjPThanZDNN71mUenCg_kaXI,15334
narwhals/utils.py,sha256=2GT3XxucWI6l9r9jTwMw7Aha2G73FsSXgXNFZ3O_ZyA,223

View File

@@ -0,0 +1,4 @@
Wheel-Version: 1.0
Generator: hatchling 1.27.0
Root-Is-Purelib: true
Tag: py3-none-any

View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2024, Marco Gorelli
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.