records#

实现 conda 包的数据模型。

PackageRecord 是通道中存在的包的记录。PackageCache 是已下载和缓存的包的记录。PrefixRecord 是安装到 conda 环境中的包的记录。

对象继承

Inheritance diagram of PackageRecord, PackageCacheRecord, PrefixRecord

#

LinkTypeField

字段的作用类似于装箱和拆箱

NoarchField

字段的作用类似于装箱和拆箱

TimestampField

字段的作用类似于装箱和拆箱

Link

_FeaturesField

字段的作用类似于装箱和拆箱

ChannelField

字段的作用类似于装箱和拆箱

SubdirField

字段的作用类似于装箱和拆箱

FilenameField

字段的作用类似于装箱和拆箱

PackageTypeField

字段的作用类似于装箱和拆箱

PathData

PathDataV1

PathsData

PackageRecord

具体包归档文件(tarball 或 .conda 文件)的表示。

Md5Field

字段的作用类似于装箱和拆箱

PackageCacheRecord

本地包缓存中已下载或解压缩的包的表示。

PrefixRecord

本地 conda 环境中安装的包的表示。

属性#

class LinkTypeField(enum_class, default=NULL, required=True, validation=None, in_dump=True, default_in_dump=True, nullable=False, immutable=False, aliases=())#

基类: conda.auxlib.entity.EnumField

字段的作用类似于 c#/java 原语的装箱和拆箱。__set__ 应该接受一个“原始”或“未加工”的值,并创建一个“已装箱”或“可编程使用的”值。而 __get__ 应该返回装箱后的值,反过来,dump 应该将值拆箱为原始或未加工的值。

参数:
  • types (原始字面量type类型序列)

  • default (any, callable, optional) -- 如果 default 是可调用的,则保证在 Entity 创建时返回有效值。

  • required (boolean, optional)

  • validation (callable, optional)

  • dump (boolean, optional)

box(instance, instance_type, val)#
class NoarchField(enum_class, default=NULL, required=True, validation=None, in_dump=True, default_in_dump=True, nullable=False, immutable=False, aliases=())#

基类: conda.auxlib.entity.EnumField

字段的作用类似于 c#/java 原语的装箱和拆箱。__set__ 应该接受一个“原始”或“未加工”的值,并创建一个“已装箱”或“可编程使用的”值。而 __get__ 应该返回装箱后的值,反过来,dump 应该将值拆箱为原始或未加工的值。

参数:
  • types (原始字面量type类型序列)

  • default (any, callable, optional) -- 如果 default 是可调用的,则保证在 Entity 创建时返回有效值。

  • required (boolean, optional)

  • validation (callable, optional)

  • dump (boolean, optional)

box(instance, instance_type, val)#
class TimestampField#

基类: conda.auxlib.entity.NumberField

字段的作用类似于 c#/java 原语的装箱和拆箱。__set__ 应该接受一个“原始”或“未加工”的值,并创建一个“已装箱”或“可编程使用的”值。而 __get__ 应该返回装箱后的值,反过来,dump 应该将值拆箱为原始或未加工的值。

参数:
  • types (原始字面量type类型序列)

  • default (any, callable, optional) -- 如果 default 是可调用的,则保证在 Entity 创建时返回有效值。

  • required (boolean, optional)

  • validation (callable, optional)

  • dump (boolean, optional)

static _make_seconds(val)#
static _make_milliseconds(val)#
box(instance, instance_type, val)#
dump(instance, instance_type, val)#
__get__(instance, instance_type)#

基类: conda.auxlib.entity.DictSafeMixin, conda.auxlib.entity.Entity

source#
type#
class _FeaturesField(**kwargs)#

基类: conda.auxlib.entity.ListField

字段的作用类似于 c#/java 原语的装箱和拆箱。__set__ 应该接受一个“原始”或“未加工”的值,并创建一个“已装箱”或“可编程使用的”值。而 __get__ 应该返回装箱后的值,反过来,dump 应该将值拆箱为原始或未加工的值。

参数:
  • types (原始字面量type类型序列)

  • default (any, callable, optional) -- 如果 default 是可调用的,则保证在 Entity 创建时返回有效值。

  • required (boolean, optional)

  • validation (callable, optional)

  • dump (boolean, optional)

box(instance, instance_type, val)#
dump(instance, instance_type, val)#
class ChannelField(aliases=())#

基类: conda.auxlib.entity.ComposableField

字段的作用类似于 c#/java 原语的装箱和拆箱。__set__ 应该接受一个“原始”或“未加工”的值,并创建一个“已装箱”或“可编程使用的”值。而 __get__ 应该返回装箱后的值,反过来,dump 应该将值拆箱为原始或未加工的值。

参数:
  • types (原始字面量type类型序列)

  • default (any, callable, optional) -- 如果 default 是可调用的,则保证在 Entity 创建时返回有效值。

  • required (boolean, optional)

  • validation (callable, optional)

  • dump (boolean, optional)

dump(instance, instance_type, val)#
__get__(instance, instance_type)#
class SubdirField#

基类: conda.auxlib.entity.StringField

字段的作用类似于 c#/java 原语的装箱和拆箱。__set__ 应该接受一个“原始”或“未加工”的值,并创建一个“已装箱”或“可编程使用的”值。而 __get__ 应该返回装箱后的值,反过来,dump 应该将值拆箱为原始或未加工的值。

参数:
  • types (原始字面量type类型序列)

  • default (any, callable, optional) -- 如果 default 是可调用的,则保证在 Entity 创建时返回有效值。

  • required (boolean, optional)

  • validation (callable, optional)

  • dump (boolean, optional)

__get__(instance, instance_type)#
class FilenameField(aliases=())#

基类: conda.auxlib.entity.StringField

字段的作用类似于 c#/java 原语的装箱和拆箱。__set__ 应该接受一个“原始”或“未加工”的值,并创建一个“已装箱”或“可编程使用的”值。而 __get__ 应该返回装箱后的值,反过来,dump 应该将值拆箱为原始或未加工的值。

参数:
  • types (原始字面量type类型序列)

  • default (any, callable, optional) -- 如果 default 是可调用的,则保证在 Entity 创建时返回有效值。

  • required (boolean, optional)

  • validation (callable, optional)

  • dump (boolean, optional)

__get__(instance, instance_type)#
class PackageTypeField#

基类: conda.auxlib.entity.EnumField

字段的作用类似于 c#/java 原语的装箱和拆箱。__set__ 应该接受一个“原始”或“未加工”的值,并创建一个“已装箱”或“可编程使用的”值。而 __get__ 应该返回装箱后的值,反过来,dump 应该将值拆箱为原始或未加工的值。

参数:
  • types (原始字面量type类型序列)

  • default (any, callable, optional) -- 如果 default 是可调用的,则保证在 Entity 创建时返回有效值。

  • required (boolean, optional)

  • validation (callable, optional)

  • dump (boolean, optional)

__get__(instance, instance_type)#
class PathData(**kwargs)#

基类: conda.auxlib.entity.Entity

property path#
_path#
prefix_placeholder#
file_mode#
path_type#
class PathDataV1(**kwargs)#

基类: PathData

sha256#
size_in_bytes#
inode_paths#
sha256_in_prefix#
class PathsData(**kwargs)#

基类: conda.auxlib.entity.Entity

paths_version#
paths#
class PackageRecord(*args, **kwargs)#

基类: conda.auxlib.entity.DictSafeMixin, conda.auxlib.entity.Entity

具体包归档文件(tarball 或 .conda 文件)的表示。

它捕获有关给定包归档文件的所有相关信息,包括其来源,在以下属性中。

请注意,有两个子类,PrefixRecordPackageCacheRecord。 这些捕获相同的信息,但使用与这两种包来源相关的附加信息进行扩充。

进一步注意,PackageRecord 使用其 _pkey 进行比较和哈希生成。 这意味着对于常见操作,例如 PackageRecord 之间的比较以及映射中 PackageRecord 的引用,_不同的_ 对象看起来相同。 考虑在内的字段在以下属性列表中标记。 子类不会向 _pkey 添加更多属性。

property schannel#

此包通道的规范名称。

_pkey 的一部分。

类型:

str

property _pkey#

用于比较和哈希的 PackageRecord 组件。

_pkey 是由 PackageRecord 的以下字段组成的元组。 如果 PackageRecord 的各自 _pkey 相等,则两个 PackageRecord 测试结果相等。 PackageRecord 的哈希(对于字典访问很重要)是 _pkey 的哈希。

包含的字段是

类型:

tuple

property is_unmanageable#
property combined_depends#
property namekey#
name#
version#
build#
build_number#
channel#
subdir#
fn#
md5#
legacy_bz2_md5#
legacy_bz2_size#
url#
sha256#
arch#
platform#
depends#
constrains#
track_features#
features#
noarch#
preferred_env#
python_site_packages_path#
license#
license_family#
package_type#
timestamp#
date#
size#
metadata: set[str]#
__hash__()#

Return hash(self).

__eq__(other)#

返回 self==value。

dist_str()#
dist_fields_dump()#
__str__()#

返回 str(self)。

to_match_spec()#
to_simple_match_spec()#
record_id()#
classmethod feature(feature_name) PackageRecord#
classmethod virtual_package(name: str, version: str | None = None, build_string: str | None = None) PackageRecord#

创建一个虚拟包记录。

参数:
  • name -- 虚拟包的名称。

  • version -- 虚拟包的版本,默认为 "0"。

  • build_string -- 虚拟包的构建字符串,默认为 "0"。

返回值:

一个代表虚拟包的 PackageRecord。

class Md5Field#

基类: conda.auxlib.entity.StringField

字段的作用类似于 c#/java 原语的装箱和拆箱。__set__ 应该接受一个“原始”或“未加工”的值,并创建一个“已装箱”或“可编程使用的”值。而 __get__ 应该返回装箱后的值,反过来,dump 应该将值拆箱为原始或未加工的值。

参数:
  • types (原始字面量type类型序列)

  • default (any, callable, optional) -- 如果 default 是可调用的,则保证在 Entity 创建时返回有效值。

  • required (boolean, optional)

  • validation (callable, optional)

  • dump (boolean, optional)

__get__(instance, instance_type)#
class PackageCacheRecord(*args, **kwargs)#

基类: PackageRecord

本地包缓存中已下载或解压缩的包的表示。

PackageRecord 的特化,为本地包缓存中存在的包添加信息,可以是以下载的包文件形式存在,也可以是解压在其自身的包目录中,或者两者兼有。

请注意,此类不会向 PackageRecord._pkey 添加新字段,因此纯 PackageRecord 对象如果与不同的 PackageCacheRecord 对象(或者,实际上是 PrefixRecord 对象)具有相同的 _pkey 字段,则将被视为相等,并将产生相同的哈希值。

property is_fetched#

包文件是否已在本地获取。

类型:

bool

property is_extracted#

包是否已在本地解压。

类型:

bool

property tarball_basename#

本地包文件的基本名称。

类型:

str

package_tarball_full_path#
extracted_package_dir#
md5#
_calculate_md5sum()#
class PrefixRecord(*args, **kwargs)#

基类: PackageRecord

本地 conda 环境中安装的包的表示。

PackageRecord 的特化,为安装在本地 conda 环境或前缀中的包添加信息。

请注意,此类不会向 PackageRecord._pkey 添加新字段,因此纯 PackageRecord 对象如果与不同的 PrefixRecord 对象(或者,实际上是 PackageCacheRecord 对象)具有相同的 _pkey 字段,则将被视为相等,并将产生相同的哈希值。

此类的对象通常从 $prefix/conda-meta 内的 json 文件中的元数据构建。

package_tarball_full_path#
extracted_package_dir#
files#
paths_data#
requested_spec#
auth#