Skip to content

PathsJson#

A representation of the paths.json file found in package archives. The paths.json file contains information about every file included with the package.

paths property writable #

paths

All entries included in the package.

Examples#

>>> paths_json = PathsJson.from_path(
...     "../test-data/conda-22.9.0-py38haa244fe_2-paths.json"
... )
>>> paths_json.paths
[PathsEntry(relative_path="Lib/site-packages/conda-22.9.0-py3.8.egg-info/PKG-INFO", no_link=False, path_type=PathType(hardlink=True), prefix_placeholder="None", sha256="1323efbd9b3abb527b06435392b39de11710eb3a814e87a8174230c8f5a0826a", size_in_bytes=1229), ...]
>>> paths_json.paths = [PathsEntry(relative_path="new/path", no_link=True, path_type=PathType("softlink"), prefix_placeholder=None, sha256=None, size_in_bytes=None)]
>>> len(paths_json.paths)
1
>>>

paths_version property writable #

paths_version

The version of the file.

Examples#

>>> paths_json = PathsJson.from_path(
...     "../test-data/conda-22.9.0-py38haa244fe_2-paths.json"
... )
>>> paths_json.paths_version
1
>>> paths_json.paths_version = 2
>>> paths_json.paths_version
2
>>>

__repr__ #

__repr__()

Returns a representation of the PathsJson.

from_deprecated_package_directory staticmethod #

from_deprecated_package_directory(path)

Constructs a new instance by reading older (deprecated) files from a package directory.

In older package archives the paths.json file does not exist. These packages contain the information normally present in the paths.json file spread over different files in the archive.

This function reads the different files and tries to reconstruct a paths.json from it.

from_package_archive staticmethod #

from_package_archive(path)

Parses the package file from archive. Note: If you want to extract multiple info/* files then this will be slightly slower than manually iterating over the archive entries with custom logic as this skips over the rest of the archive

from_package_directory staticmethod #

from_package_directory(path)

Parses the object by looking up the appropriate file from the root of the specified Conda archive directory, using a format appropriate for the file type.

For example, if the file is in JSON format, this function reads the appropriate file from the archive, parse the JSON string and return the resulting object. If the file is not in a parsable format or if the file could not be read, this function returns an error.

from_package_directory_with_deprecated_fallback staticmethod #

from_package_directory_with_deprecated_fallback(path)

Reads the file from a package archive directory. If the paths.json file could not be found use the from_deprecated_package_directory method as a fallback.

from_path staticmethod #

from_path(path)

Parses the object from a file specified by a path, using a format appropriate for the file type.

For example, if the file is in JSON format, this function reads the data from the file at the specified path, parse the JSON string and return the resulting object. If the file is not in a parsable format or if the file could not read, this function returns an error.

Examples#

>>> paths_json = PathsJson.from_path(
...     "../test-data/conda-22.9.0-py38haa244fe_2-paths.json"
... )
>>> paths_json
PathsJson()
>>>

from_str staticmethod #

from_str(string)

Parses the object from a string, using a format appropriate for the file type.

For example, if the file is in JSON format, this function parses the JSON string and returns the resulting object. If the file is not in a parsable format, this function returns an error.

package_path staticmethod #

package_path()

Returns the path to the file within the Conda archive.

The path is relative to the root of the archive and includes any necessary directories.