Crate rattler_conda_types
source ·Expand description
rattler-conda-types
contains data models for types commonly found within
the Conda ecosystem. The library itself doesnt provide any functionality
besides parsing the data types.
Re-exports§
pub use prefix_record::PrefixRecord;
pub use version_spec::VersionSpec;
Modules§
- Contains models of files that are found in the
info/
directory of a package. - Defines the
[PrefixRecord]
struct. - This module contains code to work with “versionspec”. It represents the version part of
crate::MatchSpec
, e.g.:>=3.4,<4.0
.
Structs§
Channel
s are the primary source of package information.- The
ChannelConfig
describes properties that are required to resolve “simple” channel names to channel URLs. ChannelData
is an index of subdirectories and packages stored within a Channel.- Information on a single package in a channel.
- Information about subdirectory of channel in the Conda
RepoData
- A representation of an
environment.yaml
file. - A single entry in an
ExplicitEnvironmentSpec
. This is basically a representation of a package URL. Package URLS can also have an associated URL hash which signifies the expected hash of the package archive. - An
ExplicitEnvironmentSpec
represents an explicit environment specification. Packages are represented by a URL that defines from where they should be downloaded and they are already in an explicit installation order. This ensures that there is no need to run the solver or to download repodata which makes using explicit environments for installation of environments very fast. - A
GenericVirtualPackage
is a Conda package description that contains aname
and aversion
and abuild_string
. - A
MatchSpec
is, fundamentally, a query language for conda packages. Any of the fields that comprise acrate::PackageRecord
can be used to compose aMatchSpec
. - Similar to a
MatchSpec
but does not include the package name. This is useful in places where the package name is already known (e.g.foo = "3.4.1 *cuda"
) - Noarch packages are packages that are not architecture specific and therefore only have to be built once. A
NoArchType
is either specific to an architecture or not. SeeNoArchKind
for more information on the different types ofnoarch
. - A representation of a conda package name. This struct both stores the source string from which this instance was created as well as a normalized name that can be used to compare different names. The normalized name is guaranteed to be a valid conda package name.
- A single record in the Conda repodata. A single record refers to a single binary distribution of a package on a Conda channel.
- Contains items that overwrite metadata values stored for a single
super::PackageRecord
. - An error that can occur when parsing an arch from a string.
- An error that can occur when parsing a platform from a string.
- An error that occurred during parsing of a string to a version.
- Repodata patch instructions for a single subdirectory. See
RepoDataPatch
for more information. RepoData
is an index of package binaries available on in a subdirectory of a Conda channel.- Represents a Conda repodata patch.
- Information about a package from repodata. It includes a
crate::PackageRecord
but it also stores the source of the data (like the url and the channel). - An individual shard that contains repodata for a single package name.
- The sharded repodata holds a hashmap of package name -> shard (hash). This index file is stored under
<channel>/<subdir>/repodata_shards.msgpack.zst
- Information about a sharded subdirectory that is stored inside the index file.
- Version that only has equality when it is exactly the same e.g for
Version
1.0.0 == 1.0 while inStrictVersion
this is not equal. Useful in ranges where we are talking about equality over version ranges instead of specific version instances - This class implements an order relation between version strings. Version strings can contain the usual alphanumeric characters (A-Za-z0-9), separated into segments by dots and underscores. Empty segments (i.e. two consecutive dots, a leading/trailing underscore) are not permitted. An optional epoch number - an integer followed by ‘!’ - can precede the actual version string (this is useful to indicate a change in the versioning scheme itself). Version comparison is case-insensitive.
- Holds a version and the string it was created from. This is useful if you want to retain the original string the version was created from. This might be useful in cases where you have multiple strings that are represented by the same
Version
but you still want to be able to distinguish them.
Enums§
- Known architectures supported by Conda.
- Either a number, literal or the infinity.
- An error that can occur when parsing a platform from a string.
- An error that is returned when conversion from a string to a
PackageName
fails. - A matchspec or a subsection, as part of the
dependencies
section of anenvironment.yaml
file. - Represents a channel description as either a name (e.g.
conda-forge
) or a base url. - Defines the type of noarch that a package could be.
- Package urls in explicit environments can have an optional hash that signifies a hash of the package archive. See
ExplicitEnvironmentEntry::package_archive_hash
. - Composition of possible errors when parsing the spec for build numbers
- Error that can occur when parsing a channel.
- An error that can occur when parsing an
ExplicitEnvironmentSpec
from a string - The type of parse error that occurred when parsing match spec.
- An error that can occur when parsing a
PackageArchiveHash
from a string - Defines how strict a parser should behave.
- The type of parse error that occurred when parsing a version string.
- A platform supported by Conda.
- Type of runtime export. See more info in the conda docs
crate::package::RunExportsJson
- Match a given string either by exact match, glob or regex
- Error when parsing
StringMatcher
VersionBumpError
is used to specify the type of error that occurred when bumping a version.VersionBumpType
is used to specify the type of bump to perform on a version.- Error that can occur when extending a version to a certain length.
Traits§
- A trait that defines the behavior of matching a spec against a record.
Functions§
- Computes the URL for a package.
Type Aliases§
- Named type for the build number of a package instead of explicit u64 floating about the project.
- Define match from
OrdOperator
andBuildNumber
as Element - An package identifier that can be used to identify packages across package ecosystems.