Comments (7)
In GitLab by @anthrotype on Nov 12, 2018, 11:39
changed the description
from importlib_metadata.
In GitLab by @jaraco on Nov 21, 2018, 16:26
The problem with making that attribute public is that it's only implemented on the PathDistribution
class - it doesn't have any meaning if the installed package is, for example, an importable wheel (WheelDistribution
class).
I think what you're really seeking is to have a way to enumerate and read all metadata files (so they can be saved into another format). Since there's already read support (importlib_metadata.read_binary
), really you just need a way to enumerate the metadata files.
I'm a little worried about this approach because of how it will be exposing implementation details of that particular metadata format (which files/structure). I'm almost tempted to say that py2app should be using the high-level interfaces to specifically support certain metadata... so invoke .metadata()
and .entry_points
and maybe other functionality in the future... and then store that in a known supported format (perhaps .dist-info or perhaps a custom format) in the py2app bundle.
from importlib_metadata.
In GitLab by @anthrotype on Nov 21, 2018, 18:32
thanks, makes sense.
I gather it isn't currently possible to enumerate all metadata files?
from importlib_metadata.
In GitLab by @jaraco on Nov 21, 2018, 19:29
Not precisely. There is an open MR !24 to allow enumeration of all files in the distribution, which would include metadata files, but doesn't designate which are metadata and which are regular files.
from importlib_metadata.
In GitLab by @warsaw on Dec 3, 2018, 19:27
I'm going to agree with @jaraco on this. Let's close this as "won't fix" and work on the file enumeration API.
@jaraco given your last comment, I guess there's no reliable way to know whether a file is metadata or not, right?
from importlib_metadata.
In GitLab by @warsaw on Dec 3, 2018, 19:27
closed
from importlib_metadata.
In GitLab by @jaraco on Dec 4, 2018, 22:59
there's no reliable way to know whether a file is metadata or not, right?
Right. Perhaps that's something the packaging tools could express. For a given Distribution, what is the metadata metadata, the type (egg-info/dist-info) and metadata version and its pertinent files.
I'd probably want to explore the py2app use-case in a bit more detail or identify another use-case that demands this functionality before I'd feel good recommending it.
from importlib_metadata.
Related Issues (20)
- Cannot infer top-level imports from packages installed by PDM w/`install.cache=true` (aka. symlinked packages) HOT 10
- Uncaught Exception when reading Egg information HOT 6
- `__pycache__` returned as an import name from `packages_distributions()` HOT 4
- Raise if multiple `dist-info` folders for same dist exist HOT 3
- Create a Github Security Policy file HOT 3
- PathDistribution normalized name ignores name components after first "-" HOT 6
- Provide a 'diagnose' routine to help users inspect broken environments HOT 1
- ContextualVersionConflict error on jupyter notebook HOT 1
- pypy test has started failing HOT 12
- Rely on zipfile.Path (where viable) HOT 1
- Backport docs changes HOT 1
- Invalid annotation in `SimplePath` protocol HOT 2
- Change build backend to flit-core? HOT 1
- 6.8.0: pytest is failing in tests/test_api.py::APITests::test_prefix_not_matched` unit HOT 3
- PackageNotFoundError No package metadata was found for <myproject> HOT 1
- Question: parsing package names & versions from METADATA file instead of dist-info directory HOT 1
- Provide a helper for "is distribution present" HOT 2
- Mypy tests failing on Windows only HOT 1
- 6.9.0: `DiscoveryTests.test_package_discovery` fails HOT 6
- distributions() finds two packages for editable installs HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from importlib_metadata.