Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

app_paths dependency is a nuisance #64

Closed
jaraco opened this issue Dec 27, 2022 · 7 comments
Closed

app_paths dependency is a nuisance #64

jaraco opened this issue Dec 27, 2022 · 7 comments

Comments

@jaraco
Copy link
Owner

jaraco commented Dec 27, 2022

Per 3463926#r94301964, @mgorny reports that the app_paths dependency is problemmatic. Let's explore ways to fix that.

@jaraco
Copy link
Owner Author

jaraco commented Dec 27, 2022

Filed a request as alexdelorenzo/app_paths#3.

@jaraco
Copy link
Owner Author

jaraco commented Dec 27, 2022

Reported issues:

Its GitHub repository seems not to be up-to-date, it doesn't have tests, it still uses old appdirs and brings a bunch of NIH packages. This makes pip-run a true PITA to package.

I checked on the "old appdirs" and that appears not to be an issue:

 ~ $ pip-run pipdeptree -- -m pipdeptree -p app-paths
app-paths==0.0.7
  - aiopath [required: >=0.6.9, installed: 0.6.11]
    - aiofile [required: >=3.5.0,<4, installed: 3.8.1]
      - caio [required: ~=0.9.0, installed: 0.9.11]
    - anyio [required: >=3.2.0,<4, installed: 3.6.2]
      - idna [required: >=2.8, installed: 3.4]
      - sniffio [required: >=1.1, installed: 1.3.0]
  - appdirs [required: Any, installed: 1.4.4]
  - asyncstdlib [required: >=3.9.2,<4.0.0, installed: 3.10.5]
  - StrEnum [required: >=0.4.6, installed: 0.4.9]
  - unpackable [required: >=0.0.4,<0.1.0, installed: 0.0.4]

Where did you get the impression that it depends on an old appdirs?

@jaraco
Copy link
Owner Author

jaraco commented Dec 27, 2022

NIH packages

Can you elaborate a bit on what an NIH package is and which dependencies are (most) concerning? I could guess, but I'd like to understand your perspective better. I do agree, at least for my usage, a thin wrapper around appdirs with fewer dependencies would be nice.

@mgorny
Copy link

mgorny commented Dec 27, 2022

I checked on the "old appdirs"

I'm sorry for not being precise. I meant it is using appdirs rather than platformdirs, given that apparently the latter is the preferred package these days.

Can you elaborate a bit on what an NIH package is and which dependencies are (most) concerning?

In my case, it means having to package aiopath, aiofile, caio, StrEnum and unpackable. I haven't checked the "quality" of these packages yet (e.g. if they have working tests) but you can imagine this feels like a lot of work given how small a package pip-run feels to be.

On top of that, we already have aiofiles and I'm wondering how different it is from aiofile.

@jaraco
Copy link
Owner Author

jaraco commented Dec 27, 2022

Please feel free not to invest the time/energy into packaging those downstream dependencies until this issue is resolved. I agree that a likely outcome should be to reduce the dependency tree here.

@jaraco
Copy link
Owner Author

jaraco commented Dec 27, 2022

Looks like platformdirs has the pathlib functionality needed.

@jaraco jaraco closed this as completed in 4ebfe1b Dec 27, 2022
@mgorny
Copy link

mgorny commented Dec 27, 2022

Thanks a lot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants