datalad / datalad-fuse

DataLad extension to provide FUSE file system access
Other
1 stars 4 forks source link

this package doesn't seem to install #111

Closed TheChymera closed 4 months ago

TheChymera commented 4 months ago

@yarikoptic moved here from https://github.com/con/nwb2bids/issues/6

I tried to do this via both a system-wide package manager (portage, maybe of less general interest) as well as PIP (shown below):

(mydev) [deco]~/src/datalad-fuse ❱ git rev-parse HEAD
02200a1861d8c6343c0b7c897f70cf99eeb36ce5
(mydev) [deco]~/src/datalad-fuse ❱ pip install -e .
Obtaining file:///home/chymera/src/datalad-fuse
  Installing build dependencies ... done
  Checking if build backend supports build_editable ... done
  Getting requirements to build editable ... done
  Preparing editable metadata (pyproject.toml) ... done
Requirement already satisfied: aiohttp-retry~=2.8 in ./.venvs/mydev/lib/python3.11/site-packages (from datalad-fuse==0.5.1+2.g02200a1) (2.8.3)
Requirement already satisfied: datalad>=0.17.0 in ./.venvs/mydev/lib/python3.11/site-packages (from datalad-fuse==0.5.1+2.g02200a1) (1.0.2)
Requirement already satisfied: fsspec!=2022.10.0,>=2022.1.0 in ./.venvs/mydev/lib/python3.11/site-packages (from fsspec[fuse,http]!=2022.10.0,>=2022.1.0->datalad-fuse==0.5.1+2.g02200a1) (2024.3.1)
Requirement already satisfied: methodtools~=0.4.5 in ./.venvs/mydev/lib/python3.11/site-packages (from datalad-fuse==0.5.1+2.g02200a1) (0.4.7)
Requirement already satisfied: aiohttp in ./.venvs/mydev/lib/python3.11/site-packages (from aiohttp-retry~=2.8->datalad-fuse==0.5.1+2.g02200a1) (3.9.5)
Requirement already satisfied: platformdirs in ./.venvs/mydev/lib/python3.11/site-packages (from datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (4.2.1)
Requirement already satisfied: chardet>=3.0.4 in ./.venvs/mydev/lib/python3.11/site-packages (from datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (5.2.0)
Requirement already satisfied: iso8601 in ./.venvs/mydev/lib/python3.11/site-packages (from datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (2.1.0)
Requirement already satisfied: humanize in ./.venvs/mydev/lib/python3.11/site-packages (from datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (4.9.0)
Requirement already satisfied: fasteners>=0.14 in ./.venvs/mydev/lib/python3.11/site-packages (from datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (0.19)
Requirement already satisfied: packaging in ./.venvs/mydev/lib/python3.11/site-packages (from datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (24.0)
Requirement already satisfied: patool>=1.7 in ./.venvs/mydev/lib/python3.11/site-packages (from datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (2.2.0)
Requirement already satisfied: tqdm>=4.32.0 in ./.venvs/mydev/lib/python3.11/site-packages (from datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (4.66.4)
Requirement already satisfied: annexremote in ./.venvs/mydev/lib/python3.11/site-packages (from datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (1.6.5)
Requirement already satisfied: looseversion in ./.venvs/mydev/lib/python3.11/site-packages (from datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (1.3.0)
Requirement already satisfied: boto in ./.venvs/mydev/lib/python3.11/site-packages (from datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (2.49.0)
Requirement already satisfied: keyring!=23.9.0,>=20.0 in ./.venvs/mydev/lib/python3.11/site-packages (from datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (25.2.0)
Requirement already satisfied: keyrings.alt in ./.venvs/mydev/lib/python3.11/site-packages (from datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (5.0.1)
Requirement already satisfied: msgpack in ./.venvs/mydev/lib/python3.11/site-packages (from datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (1.0.8)
Requirement already satisfied: requests>=1.2 in ./.venvs/mydev/lib/python3.11/site-packages (from datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (2.31.0)
Requirement already satisfied: python-gitlab in ./.venvs/mydev/lib/python3.11/site-packages (from datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (4.4.0)
Requirement already satisfied: distro in ./.venvs/mydev/lib/python3.11/site-packages (from datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (1.9.0)
Requirement already satisfied: fusepy in ./.venvs/mydev/lib/python3.11/site-packages (from fsspec[fuse,http]!=2022.10.0,>=2022.1.0->datalad-fuse==0.5.1+2.g02200a1) (3.0.1)
Requirement already satisfied: wirerope>=0.4.7 in ./.venvs/mydev/lib/python3.11/site-packages (from methodtools~=0.4.5->datalad-fuse==0.5.1+2.g02200a1) (0.4.7)
Requirement already satisfied: aiosignal>=1.1.2 in ./.venvs/mydev/lib/python3.11/site-packages (from aiohttp->aiohttp-retry~=2.8->datalad-fuse==0.5.1+2.g02200a1) (1.3.1)
Requirement already satisfied: attrs>=17.3.0 in ./.venvs/mydev/lib/python3.11/site-packages (from aiohttp->aiohttp-retry~=2.8->datalad-fuse==0.5.1+2.g02200a1) (23.2.0)
Requirement already satisfied: frozenlist>=1.1.1 in ./.venvs/mydev/lib/python3.11/site-packages (from aiohttp->aiohttp-retry~=2.8->datalad-fuse==0.5.1+2.g02200a1) (1.4.1)
Requirement already satisfied: multidict<7.0,>=4.5 in ./.venvs/mydev/lib/python3.11/site-packages (from aiohttp->aiohttp-retry~=2.8->datalad-fuse==0.5.1+2.g02200a1) (6.0.5)
Requirement already satisfied: yarl<2.0,>=1.0 in ./.venvs/mydev/lib/python3.11/site-packages (from aiohttp->aiohttp-retry~=2.8->datalad-fuse==0.5.1+2.g02200a1) (1.9.4)
Requirement already satisfied: jaraco.classes in ./.venvs/mydev/lib/python3.11/site-packages (from keyring!=23.9.0,>=20.0->datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (3.4.0)
Requirement already satisfied: jaraco.functools in ./.venvs/mydev/lib/python3.11/site-packages (from keyring!=23.9.0,>=20.0->datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (4.0.1)
Requirement already satisfied: jaraco.context in ./.venvs/mydev/lib/python3.11/site-packages (from keyring!=23.9.0,>=20.0->datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (5.3.0)
Requirement already satisfied: importlib-metadata>=4.11.4 in ./.venvs/mydev/lib/python3.11/site-packages (from keyring!=23.9.0,>=20.0->datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (7.1.0)
Requirement already satisfied: SecretStorage>=3.2 in ./.venvs/mydev/lib/python3.11/site-packages (from keyring!=23.9.0,>=20.0->datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (3.3.3)
Requirement already satisfied: jeepney>=0.4.2 in ./.venvs/mydev/lib/python3.11/site-packages (from keyring!=23.9.0,>=20.0->datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (0.8.0)
Requirement already satisfied: charset-normalizer<4,>=2 in ./.venvs/mydev/lib/python3.11/site-packages (from requests>=1.2->datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in ./.venvs/mydev/lib/python3.11/site-packages (from requests>=1.2->datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (3.7)
Requirement already satisfied: urllib3<3,>=1.21.1 in ./.venvs/mydev/lib/python3.11/site-packages (from requests>=1.2->datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (2.2.1)
Requirement already satisfied: certifi>=2017.4.17 in ./.venvs/mydev/lib/python3.11/site-packages (from requests>=1.2->datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (2024.2.2)
Requirement already satisfied: six>=1.11.0 in ./.venvs/mydev/lib/python3.11/site-packages (from wirerope>=0.4.7->methodtools~=0.4.5->datalad-fuse==0.5.1+2.g02200a1) (1.16.0)
Requirement already satisfied: requests-toolbelt>=0.10.1 in ./.venvs/mydev/lib/python3.11/site-packages (from python-gitlab->datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (1.0.0)
Requirement already satisfied: zipp>=0.5 in ./.venvs/mydev/lib/python3.11/site-packages (from importlib-metadata>=4.11.4->keyring!=23.9.0,>=20.0->datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (3.18.1)
Requirement already satisfied: cryptography>=2.0 in ./.venvs/mydev/lib/python3.11/site-packages (from SecretStorage>=3.2->keyring!=23.9.0,>=20.0->datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (42.0.6)
Requirement already satisfied: more-itertools in ./.venvs/mydev/lib/python3.11/site-packages (from jaraco.classes->keyring!=23.9.0,>=20.0->datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (10.2.0)
Requirement already satisfied: backports.tarfile in ./.venvs/mydev/lib/python3.11/site-packages (from jaraco.context->keyring!=23.9.0,>=20.0->datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (1.1.1)
Requirement already satisfied: cffi>=1.12 in ./.venvs/mydev/lib/python3.11/site-packages (from cryptography>=2.0->SecretStorage>=3.2->keyring!=23.9.0,>=20.0->datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (1.16.0)
Requirement already satisfied: pycparser in ./.venvs/mydev/lib/python3.11/site-packages (from cffi>=1.12->cryptography>=2.0->SecretStorage>=3.2->keyring!=23.9.0,>=20.0->datalad>=0.17.0->datalad-fuse==0.5.1+2.g02200a1) (2.22)
Building wheels for collected packages: datalad-fuse
  Building editable for datalad-fuse (pyproject.toml) ... done
  Created wheel for datalad-fuse: filename=datalad_fuse-0.5.1+2.g02200a1-0.editable-py3-none-any.whl size=5532 sha256=ef8a1a1713b4351f5d66a2740eda774bba8621ab8497694ae7cd667ce6ca842f
  Stored in directory: /tmp/pip-ephem-wheel-cache-c1bkq3ka/wheels/e9/60/27/bd8c3f4c66f8a9b53354bc27c4b4e199816d1cfcb12e939fe8
Successfully built datalad-fuse
Installing collected packages: datalad-fuse
  Attempting uninstall: datalad-fuse
    Found existing installation: datalad-fuse 0.5.1+2.g02200a1
    Uninstalling datalad-fuse-0.5.1+2.g02200a1:
      Successfully uninstalled datalad-fuse-0.5.1+2.g02200a1
Successfully installed datalad-fuse-0.5.1+2.g02200a1
(mydev) [deco]~/src/datalad-fuse ❱ pushd /mnt/data/datalad/
/mnt/data/datalad ~/src/datalad-fuse
(mydev) [deco]/mnt/data/datalad ❱ datalad fuse-mount 000628/ /tmp/000628
datalad: Unknown command 'fuse-mount'.  See 'datalad --help'.

(mydev) [deco]/mnt/data/datalad ❱ datalad --help | rg fuse -C 5
  aggregate-metadata
      Aggregate metadata of one or more datasets for later query

*DataLad FUSE command suite*

  fusefs
      FUSE File system providing transparent access to files under DataLad
  fsspec-head
      Show leading lines/bytes of an annexed file by fetching its data from a
  fsspec-cache-clear
      Clear fsspec cache
(mydev) [deco]/mnt/data/datalad ❱ datalad wtf | rg fuse
  - PATH: /home/chymera/src/datalad-fuse/.venvs/mydev/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/lib/llvm/18/bin:/usr/lib/llvm/17/bin
  - fuse:
      - datalad_fuse.FuseFS:
        - module: datalad_fuse
          - fusefs
          - fusefs
      - datalad_fuse.fsspec_cache_clear.FsspecCacheClear:
        - module: datalad_fuse.fsspec_cache_clear
      - datalad_fuse.fsspec_head.FsspecHead:
        - module: datalad_fuse.fsspec_head
    - module: datalad_fuse
jwodder commented 4 months ago

@TheChymera You tried to run datalad fuse-mount. As the --help output shows, there is no datalad fuse-mount. Where do you think the problem is?

yarikoptic commented 4 months ago

@TheChymera use datalad fusefs. Here is e.g. example of use in https://github.com/dandi/dandisets-healthstatus//blob/HEAD/code/src/healthstatus/__main__.py#L77 .

as such I think the issue is incorrect -- package installed just fine, command you thought should exist was named differently though.

yarikoptic commented 4 months ago

clarification: it was me mentioning fuse-mount as the command in https://github.com/con/nwb2bids/issues/6#issuecomment-2072867663 -- so was my bad memory to blame and ultimate trust of @TheChymera to my words ;-)