从PyPI将Python包的数据加载到SQLite中
项目描述
pypi-to-sqlite
从PyPI将Python包的数据加载到SQLite中
安装
使用pip
安装此工具
pip install pypi-to-sqlite
用法
要创建包含一个或多个包详情的SQLite数据库,运行
pypi-to-sqlite pypi.db datasette sqlite-utils
您还可以处理像这样先前保存到磁盘的JSON
curl -o datasette.json https://pypi.ac.cn/pypi/datasette/json
pypi-to-sqlite pypi.db -f datasette.json
此工具将创建三个表:packages
、versions
和releases
。完整的表模式如下所示。
要使用前缀创建表,请使用--prefix prefix
。例如
pypi-to-sqlite pypi.db datasette --prefix pypi_
这将创建名为pypi_packages
、pypi_versions
和pypi_releases
的表。
演示
您可以在Datasette中看到使用此工具运行的表示例
数据库模式
CREATE TABLE [packages] (
[name] TEXT PRIMARY KEY,
[summary] TEXT,
[classifiers] TEXT,
[description] TEXT,
[author] TEXT,
[author_email] TEXT,
[description_content_type] TEXT,
[home_page] TEXT,
[keywords] TEXT,
[license] TEXT,
[maintainer] TEXT,
[maintainer_email] TEXT,
[package_url] TEXT,
[platform] TEXT,
[project_url] TEXT,
[project_urls] TEXT,
[release_url] TEXT,
[requires_dist] TEXT,
[requires_python] TEXT,
[version] TEXT,
[yanked] INTEGER,
[yanked_reason] TEXT
);
CREATE TABLE [versions] (
[id] TEXT PRIMARY KEY,
[package] TEXT REFERENCES [packages]([name]),
[name] TEXT
);
CREATE TABLE [releases] (
[md5_digest] TEXT PRIMARY KEY,
[package] TEXT REFERENCES [packages]([name]),
[version] TEXT REFERENCES [versions]([id]),
[packagetype] TEXT,
[filename] TEXT,
[comment_text] TEXT,
[digests] TEXT,
[has_sig] INTEGER,
[python_version] TEXT,
[requires_python] TEXT,
[size] INTEGER,
[upload_time] TEXT,
[upload_time_iso_8601] TEXT,
[url] TEXT,
[yanked] INTEGER,
[yanked_reason] TEXT
);
pypi-to-sqlite --help
Usage: pypi-to-sqlite [OPTIONS] DB_PATH [PACKAGE]...
Load data about Python packages from PyPI into SQLite
Usage example:
pypi-to-sqlite pypy.db datasette sqlite-utils
Use -f to load data from a JSON file instead:
pypi-to-sqlite pypy.db -f datasette.json
Created tables will be packages, versions and releases
To create tables called pypi_packages, pypi_versions, pypi_releases use
--prefix pypi_:
pypi-to-sqlite pypy.db datasette sqlite-utils --prefix pypi_
Options:
--version Show the version and exit.
-f, --file FILENAME Import JSON from this file
-d, --delay FLOAT Wait this many seconds between requests
--prefix TEXT Prefix to use for the created database tables
--help Show this message and exit.
开发
要为此工具做出贡献,首先检出代码。然后创建一个新的虚拟环境
cd pypi-to-sqlite
python -m venv venv
source venv/bin/activate
现在安装依赖项并测试依赖项
pip install -e '.[test]'
要运行测试
pytest
项目详情
关闭
pypi-to-sqlite-0.2.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d6866be63e347d5733d259e0708ffc6e69409744203c82e438ee3bbda44a4e20 |
|
MD5 | 4f27ea2f944de13c32853235156e4772 |
|
BLAKE2b-256 | 1f29cf97b1c72cb1aab81917e44d52e34ba3ffbb7efdfa2125ccf7cedc852602 |
关闭
pypi_to_sqlite-0.2.3-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 20f720cecb4920b7456deb0c718cefb321fb5124f7058fe1b203840a64ec98c0 |
|
MD5 | 9214205f884e9197a36072a7024d1d03 |
|
BLAKE2b-256 | edb1b417733d3808d635e5b6aa29ec829df81eddfebaf2f7b37379c17a6a3106 |