TomAugspurger: Does this also close https://github.com/dask/dask/issues/3660?
diff --git a/dask/bytes/core.py b/dask/bytes/core.py
index 73b0eae33..aa395eead 100644
--- a/dask/bytes/core.py
+++ b/dask/bytes/core.py
@@ -263,6 +263,41 @@ def infer_options(urlpath):
     return urlpath, protocol, options
 
 
+def expand_paths_if_needed(paths, mode, num, fs, name_function):
+    """Expand paths if they have a ``*`` in them.
+
+    :param paths: list of paths
+    mode : str
+        Mode in which to open files.
+    num : int
+        If opening in writing mode, number of files we expect to create.
+    fs : filesystem object
+    name_function : callable
+        If opening in writing mode, this callable is used to generate path
+        names. Names are generated for each partition by
+        ``urlpath.replace('*', name_function(partition_index))``.
+    :return: list of paths
+    """
+    expanded_paths = []
+    paths = list(paths)
+    if 'w' in mode and sum([1 for p in paths if '*' in p]) > 1:
+        raise ValueError("When writing data, only one filename mask can be specified.")
+    for curr_path in paths:
+        if '*' in curr_path:
+            if 'w' in mode:
+                # expand using name_function
+                expanded_paths.extend(_expand_paths(curr_path, name_function, num))
+            else:
+                # expand using glob
+                expanded_paths.extend(fs.glob(curr_path))
+        else:
+            expanded_paths.append(curr_path)
+    # if we generated more paths that asked for, trim the list
+    if 'w' in mode and len(expanded_paths) > num:
+        expanded_paths = expanded_paths[:num]
+    return expanded_paths
+
+
 def get_fs_token_paths(urlpath, mode='rb', num=1, name_function=None,
                        storage_options=None):
     """Filesystem, deterministic token, and paths from a urlpath and options.
@@ -294,9 +329,8 @@ def get_fs_token_paths(urlpath, mode='rb', num=1, name_function=None,
             raise ValueError("When specifying a list of paths, all paths must "
                              "share the same protocol and options")
         update_storage_options(options, storage_options)
-        paths = list(paths)
-
         fs, fs_token = get_fs(protocol, options)
+        paths = expand_paths_if_needed(paths, mode, num, fs, name_function)
 
     elif isinstance(urlpath, (str, unicode)) or hasattr(urlpath, 'name'):
         urlpath, protocol, options = infer_options(urlpath)
diff --git a/dask/dataframe/tseries/resample.py b/dask/dataframe/tseries/resample.py
index 3f5b8f762..de3e15824 100644
--- a/dask/dataframe/tseries/resample.py
+++ b/dask/dataframe/tseries/resample.py
@@ -38,7 +38,8 @@ def _resample_series(series, start, end, reindex_closed, rule,
                      resample_kwargs, how, fill_value, how_args, how_kwargs):
     out = getattr(series.resample(rule, **resample_kwargs), how)(*how_args, **how_kwargs)
     return out.reindex(pd.date_range(start, end, freq=rule,
-                                     closed=reindex_closed),
+                                     closed=reindex_closed,
+                                     name=out.index.name),
                        fill_value=fill_value)
 
 

Resample Dask Dataframe results in loss of index column name
I created this self containable example to demonstrate a bug I found when resampling a Dask Dataframe. As can be seen below, after resampling the Pandas Dataframe it still contains the name of the index, but after resampling the Dask Dataframe it loses the name of the index. It's interesting to note that when doing `df2.index.name` it shows the correct index name, but when doing `df2.head()` this doesn't happen. 

<details>
<summary>Code</summary>

```
import numpy as np
import pandas as pd
from numpy import sqrt
import matplotlib.pyplot as plt
import dask
import dask.dataframe as dd
from datetime import datetime, timedelta

# Create random time series
date_today = datetime.now()
days = pd.date_range(date_today, date_today + timedelta(20), freq='D')

np.random.seed(seed=1111)
data = np.random.randint(1, high=100, size=len(days))

# Create Pandas Dataframe
df = pd.DataFrame({'date': days, 'values': data})
df = df.set_index('date')
print(df.head())
print(df.resample('D').mean().head())

# Create Dask Dataframe
df2 = dd.from_pandas(df, npartitions=4)
print(df2.head())
print(df2.resample('D').mean().head())

df2.index.name

```

</details>

<details>
<summary>Output</summary>

```
                            values
date                              
2018-07-30 16:10:31.049569      29
2018-07-31 16:10:31.049569      56
2018-08-01 16:10:31.049569      82
2018-08-02 16:10:31.049569      13
2018-08-03 16:10:31.049569      35
            values
date              
2018-07-30      29
2018-07-31      56
2018-08-01      82
2018-08-02      13
2018-08-03      35
                            values
date                              
2018-07-30 16:10:31.049569      29
2018-07-31 16:10:31.049569      56
2018-08-01 16:10:31.049569      82
2018-08-02 16:10:31.049569      13
2018-08-03 16:10:31.049569      35
            values
2018-07-30      29
2018-07-31      56
2018-08-01      82
2018-08-02      13
2018-08-03      35
'date'

```

</details>
diff --git a/dask/bytes/tests/test_local.py b/dask/bytes/tests/test_local.py
index dbe58ae0d..8f723a624 100644
--- a/dask/bytes/tests/test_local.py
+++ b/dask/bytes/tests/test_local.py
@@ -29,6 +29,12 @@ files = {'.test.accounts.1.json': (b'{"amount": 100, "name": "Alice"}\n'
                                    b'{"amount": 800, "name": "Dennis"}\n')}
 
 
+csv_files = {'.test.fakedata.1.csv': (b'a,b\n'
+                                      b'1,2\n'),
+             '.test.fakedata.2.csv': (b'a,b\n'
+                                      b'3,4\n')}
+
+
 try:
     # used only in test_with_urls - may be more generally useful
     import pathlib
@@ -86,6 +92,27 @@ def test_urlpath_inference_errors():
                             'should/not/be.csv' 'allowed.csv'})
 
 
+def test_urlpath_expand_read():
+    """Make sure * is expanded in file paths when reading."""
+    # when reading, globs should be expanded to read files by mask
+    with filetexts(csv_files, mode='b'):
+        _, _, paths = get_fs_token_paths('.*.csv')
+        assert len(paths) == 2
+        _, _, paths = get_fs_token_paths(['.*.csv'])
+        assert len(paths) == 2
+
+
+def test_urlpath_expand_write():
+    """Make sure * is expanded in file paths when writing."""
+    _, _, paths = get_fs_token_paths('prefix-*.csv', mode='wb', num=2)
+    assert paths == ['prefix-0.csv', 'prefix-1.csv']
+    _, _, paths = get_fs_token_paths(['prefix-*.csv'], mode='wb', num=2)
+    assert paths == ['prefix-0.csv', 'prefix-1.csv']
+    # we can read with multiple masks, but not write
+    with pytest.raises(ValueError):
+        _, _, paths = get_fs_token_paths(['prefix1-*.csv', 'prefix2-*.csv'], mode='wb', num=2)
+
+
 def test_read_bytes():
     with filetexts(files, mode='b'):
         sample, values = read_bytes('.test.accounts.*')
diff --git a/dask/dataframe/tseries/tests/test_resample.py b/dask/dataframe/tseries/tests/test_resample.py
index 7c3b4f7bf..2b20f3e30 100644
--- a/dask/dataframe/tseries/tests/test_resample.py
+++ b/dask/dataframe/tseries/tests/test_resample.py
@@ -77,3 +77,19 @@ def test_unknown_divisions_error():
         assert False
     except ValueError as e:
         assert 'divisions' in str(e)
+
+
+def test_resample_index_name():
+    import numpy as np
+    from datetime import datetime, timedelta
+
+    date_today = datetime.now()
+    days = pd.date_range(date_today, date_today + timedelta(20), freq='D')
+    data = np.random.randint(1, high=100, size=len(days))
+
+    df = pd.DataFrame({'date': days, 'values': data})
+    df = df.set_index('date')
+
+    ddf = dd.from_pandas(df, npartitions=4)
+
+    assert ddf.resample('D').mean().head().index.name == "date"

pip install -e .[complete]
parse_log_pytest
pytest
pytest
3.6
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs @ file:///opt/conda/conda-bld/attrs_1642510447205/work
certifi==2021.5.30
click==8.0.4
cloudpickle==2.2.1
-e git+https://github.com/dask/dask.git@b341ac841234cb06c170c7af0fc65b2827be2cef#egg=dask
distributed==1.28.1
HeapDict==1.0.1
importlib-metadata @ file:///tmp/build/80754af9/importlib-metadata_1631916693255/work
iniconfig @ file:///home/linux1/recipes/ci/iniconfig_1610983019677/work
locket==1.0.0
more-itertools @ file:///tmp/build/80754af9/more-itertools_1637733554872/work
msgpack==1.0.5
numpy==1.19.5
packaging @ file:///tmp/build/80754af9/packaging_1637314298585/work
pandas==1.1.5
partd==1.2.0
pluggy @ file:///tmp/build/80754af9/pluggy_1615976315926/work
psutil==7.0.0
py @ file:///opt/conda/conda-bld/py_1644396412707/work
pyparsing @ file:///tmp/build/80754af9/pyparsing_1635766073266/work
pytest==6.2.4
python-dateutil==2.9.0.post0
pytz==2025.2
PyYAML==6.0.1
six==1.17.0
sortedcontainers==2.4.0
tblib==1.7.0
toml @ file:///tmp/build/80754af9/toml_1616166611790/work
toolz==0.12.0
tornado==6.1
typing_extensions @ file:///opt/conda/conda-bld/typing_extensions_1647553014482/work
zict==2.1.0
zipp @ file:///tmp/build/80754af9/zipp_1633618647012/work

name: dask
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - attrs=21.4.0=pyhd3eb1b0_0
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2021.5.30=py36h06a4308_0
  - importlib-metadata=4.8.1=py36h06a4308_0
  - importlib_metadata=4.8.1=hd3eb1b0_0
  - iniconfig=1.1.1=pyhd3eb1b0_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - more-itertools=8.12.0=pyhd3eb1b0_0
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - packaging=21.3=pyhd3eb1b0_0
  - pip=21.2.2=py36h06a4308_0
  - pluggy=0.13.1=py36h06a4308_0
  - py=1.11.0=pyhd3eb1b0_0
  - pyparsing=3.0.4=pyhd3eb1b0_0
  - pytest=6.2.4=py36h06a4308_2
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - setuptools=58.0.4=py36h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - toml=0.10.2=pyhd3eb1b0_0
  - typing_extensions=4.1.1=pyh06a4308_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.6.4=h5eee18b_1
  - zipp=3.6.0=pyhd3eb1b0_0
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - click==8.0.4
      - cloudpickle==2.2.1
      - distributed==1.28.1
      - heapdict==1.0.1
      - locket==1.0.0
      - msgpack==1.0.5
      - numpy==1.19.5
      - pandas==1.1.5
      - partd==1.2.0
      - psutil==7.0.0
      - python-dateutil==2.9.0.post0
      - pytz==2025.2
      - pyyaml==6.0.1
      - six==1.17.0
      - sortedcontainers==2.4.0
      - tblib==1.7.0
      - toolz==0.12.0
      - tornado==6.1
      - zict==2.1.0
prefix: /opt/conda/envs/dask

dask/bytes/tests/test_local.py::test_urlpath_expand_read dask/bytes/tests/test_local.py::test_urlpath_expand_write
dask/bytes/tests/test_local.py::test_not_found dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-30T-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-30T-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-30T-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-30T-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-h-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-h-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-h-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-h-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-d-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-d-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-d-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-d-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-w-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-w-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-w-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-w-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-M-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-M-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-M-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-M-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-30T-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-30T-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-30T-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-30T-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-h-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-h-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-h-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-h-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-d-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-d-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-d-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-d-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-w-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-w-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-w-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-w-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-M-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-M-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-M-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-M-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-30T-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-30T-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-30T-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-30T-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-h-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-h-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-h-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-h-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-d-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-d-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-d-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-d-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-w-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-w-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-w-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-w-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-M-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-M-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-M-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-M-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-30T-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-30T-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-30T-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-30T-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-h-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-h-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-h-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-h-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-d-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-d-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-d-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-d-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-w-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-w-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-w-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-w-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-M-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-M-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-M-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-M-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-30T-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-30T-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-30T-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-30T-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-h-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-h-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-h-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-h-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-d-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-d-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-d-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-d-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-w-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-w-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-w-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-w-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-M-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-M-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-M-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-M-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-30T-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-30T-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-30T-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-30T-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-h-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-h-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-h-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-h-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-d-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-d-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-d-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-d-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-w-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-w-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-w-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-w-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-M-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-M-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-M-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-M-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-30T-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-30T-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-30T-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-30T-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-h-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-h-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-h-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-h-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-d-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-d-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-d-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-d-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-w-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-w-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-w-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-w-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-M-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-M-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-M-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-M-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-30T-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-30T-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-30T-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-30T-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-h-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-h-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-h-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-h-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-d-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-d-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-d-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-d-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-w-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-w-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-w-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-w-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-M-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-M-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-M-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-M-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-30T-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-30T-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-30T-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-30T-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-h-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-h-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-h-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-h-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-d-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-d-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-d-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-d-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-w-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-w-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-w-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-w-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-M-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-M-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-M-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-M-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-30T-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-30T-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-30T-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-30T-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-h-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-h-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-h-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-h-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-d-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-d-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-d-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-d-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-w-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-w-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-w-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-w-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-M-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-M-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-M-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-M-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-30T-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-30T-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-30T-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-30T-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-h-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-h-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-h-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-h-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-d-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-d-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-d-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-d-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-w-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-w-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-w-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-w-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-M-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-M-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-M-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-M-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-30T-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-30T-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-30T-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-30T-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-h-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-h-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-h-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-h-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-d-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-d-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-d-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-d-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-w-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-w-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-w-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-w-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-M-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-M-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-M-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-M-left-left] dask/dataframe/tseries/tests/test_resample.py::test_resample_agg dask/dataframe/tseries/tests/test_resample.py::test_resample_agg_passes_kwargs dask/dataframe/tseries/tests/test_resample.py::test_resample_index_name
dask/bytes/tests/test_local.py::test_urlpath_inference_strips_protocol dask/bytes/tests/test_local.py::test_urlpath_inference_errors dask/bytes/tests/test_local.py::test_read_bytes dask/bytes/tests/test_local.py::test_read_bytes_sample_delimiter dask/bytes/tests/test_local.py::test_read_bytes_blocksize_none dask/bytes/tests/test_local.py::test_read_bytes_blocksize_float dask/bytes/tests/test_local.py::test_with_urls dask/bytes/tests/test_local.py::test_with_paths dask/bytes/tests/test_local.py::test_read_bytes_block dask/bytes/tests/test_local.py::test_read_bytes_delimited dask/bytes/tests/test_local.py::test_compression[gzip-None] dask/bytes/tests/test_local.py::test_compression[None-None] dask/bytes/tests/test_local.py::test_compression[xz-None] dask/bytes/tests/test_local.py::test_compression[bz2-None] dask/bytes/tests/test_local.py::test_compression[None-10] dask/bytes/tests/test_local.py::test_open_files dask/bytes/tests/test_local.py::test_open_files_text_mode[utf-8] dask/bytes/tests/test_local.py::test_open_files_text_mode[ascii] dask/bytes/tests/test_local.py::test_open_files_compression[gzip-rt] dask/bytes/tests/test_local.py::test_open_files_compression[gzip-rb] dask/bytes/tests/test_local.py::test_open_files_compression[None-rt] dask/bytes/tests/test_local.py::test_open_files_compression[None-rb] dask/bytes/tests/test_local.py::test_open_files_compression[xz-rt] dask/bytes/tests/test_local.py::test_open_files_compression[xz-rb] dask/bytes/tests/test_local.py::test_open_files_compression[bz2-rt] dask/bytes/tests/test_local.py::test_open_files_compression[bz2-rb] dask/bytes/tests/test_local.py::test_getsize[None] dask/bytes/tests/test_local.py::test_bad_compression dask/bytes/tests/test_local.py::test_open_files_write[compression_opener0] dask/bytes/tests/test_local.py::test_open_files_write[compression_opener1] dask/bytes/tests/test_local.py::test_pickability_of_lazy_files dask/bytes/tests/test_local.py::test_py2_local_bytes dask/bytes/tests/test_local.py::test_abs_paths dask/dataframe/tseries/tests/test_resample.py::test_series_resample_not_implemented dask/dataframe/tseries/tests/test_resample.py::test_unknown_divisions_error
dask/bytes/core.py dask/dataframe/tseries/resample.py
dask/bytes/core.py dask/dataframe/tseries/resample.py