metadata_please
There are a couple of pretty decent ways to read metadata (importlib-metadata,
and pkginfo) but they tend to be pretty heavyweight. This lib aims to do two
things, with as minimal dependencies as possible:
- Support just enough metadata to be able to look up deps.
- Do "the thing that pip does" when deciding what dist-info dir to look at.
Usage
Example snippet to show how to get the metadata from a wheel.
from zipfile import ZipFile
from metadata_please import basic_metadata_from_wheel
zf = ZipFile('somepkg.whl')
print(basic_metadata_from_wheel(zf, "somepkg"))
Output
BasicMetadata(
reqs=[
'cli-helpers[styles] >=2.2.1',
'click >=4.1',
'configobj >=5.0.5',
'prompt-toolkit <4.0.0,>=3.0.3',
'pygments >=1.6',
'sqlparse >=0.4.4',
"behave >=1.2.6 ; extra == 'dev'",
"coverage >=7.2.7 ; extra == 'dev'",
"pexpect >=4.9.0 ; extra == 'dev'",
"pytest >=7.4.4 ; extra == 'dev'",
"pytest-cov >=4.1.0 ; extra == 'dev'",
"tox >=4.8.0 ; extra == 'dev'",
"pdbpp >=0.10.3 ; extra == 'dev'"
],
provides_extra=frozenset({'dev'}),
name='litecli',
version='1.12.4',
requires_python='>=3.7',
url=None,
project_urls={'homepage, https://github.com/dbcli/litecli': ''},
author=None,
author_email='dbcli <litecli-users@googlegroups.com>',
summary='CLI for SQLite Databases with auto-completion and syntax highlighting.',
description='# litecli\n\n[](https://github.com/dbcli/litecli/actions/workflows/ci.yml "GitHub
Actions")\n\n[Docs](https://litecli.com)\n\nA command-line client for SQLite databases that has auto-completion and syntax
highlighting.\n\n\n\n\n## Installation\n\nIf you already know how to install python
packages, then you can install it via pip:\n\nYou might need sudo on linux.\n\n```\n$ pip install -U litecli\n```\n\nThe package is also available on Arch Linux through
AUR in two versions: [litecli](https://aur.archlinux.org/packages/litecli/) is based the latest release (git tag) and
[litecli-git](https://aur.archlinux.org/packages/litecli-git/) is based on the master branch of the git repo. You can install them manually or with an AUR helper such as
`yay`:\n\n```\n$ yay -S litecli\n```\n\nor\n\n```\n$ yay -S litecli-git\n```\n\nFor MacOS users, you can also use Homebrew to install it:\n\n```\n$ brew install
litecli\n```\n\n## Usage\n\n```\n$ litecli --help\n\nUsage: litecli [OPTIONS] [DATABASE]\n\nExamples:\n - litecli sqlite_db_name\n```\n\nA config file is automatically
created at `~/.config/litecli/config` at first launch. For Windows machines a config file is created at `~\\AppData\\Local\\dbcli\\litecli\\config` at first launch. See
the file itself for a description of all available options.\n\n## Docs\n\nVisit: [litecli.com/features](https://litecli.com/features)\n',
keywords=None,
long_description_content_type='text/markdown'
)
The metadata can be extracted from a wheel, sdist (zip or tarball) or a source checkout (best effort). Check __init__.py file for all available functions.
Version Compat
Usage of this library should work back to 3.7, but development (and mypy compatibility) only on 3.10-3.12. Linting requires 3.12 for full fidelity.
License
metadata_please is copyright Tim Hatch, and licensed under
the MIT license. I am providing code in this repository to you under an open
source license. This is my personal repository; the license you receive to
my code is from me and not from my employer. See the LICENSE file for details.
Metadata
Release files for metadata-please 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| metadata_please-0.2.1.tar.gz | 18.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| metadata_please-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 37.2 kB
Release files / metadata_please-0.2.1.tar.gz
| Download URL | metadata_please-0.2.1.tar.gz |
|---|---|
| Size | 18.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
886678147eb4606501a14dbf399f1325987870a05dc01a249be68dc2ada9be80
|
|
BLAKE2b-256 checksum How to use checksums |
fd6c006d4410de8f181c089ef445b19ea12f2bc0b2e50acaec7a26b529c1f71a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.1 CPython/3.12.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 15, 2024.
Transparency logRelease files / metadata_please-0.2.1-py3-none-any.whl
| Download URL | metadata_please-0.2.1-py3-none-any.whl |
|---|---|
| Size | 18.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f25b42ed429c19d157510a59a4f0fc72d6a91bbe372d22dae36135fde2e19f29
|
|
BLAKE2b-256 checksum How to use checksums |
7556a083dd42ecf11ebc88d687863f4464d258d640001690406a5617cacb18c1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.1 CPython/3.12.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 15, 2024.
Transparency log