- Expose API and CLI for which components will be listed as part of
cph list
. (#253) - Allow
cph list
on remote.conda
artifact URLs. (#252 via #254)
- Use force_zip64=True when directly creating .conda files. Allows >2GB (compressed) size. (#248)
- Replace
.conda
or.tar.bz2
extensions from end of string only instead ofstr.replace(...)
(#251)
- Improve type annotations on an internal function (#257)
- @conda-bot
- @dholth
- @jezdez
- @jaimergp
- @pre-commit-ci[bot]
- Add
cph list
to report artifact contents without prior extraction. (#236) - Added formal support for Python 3.10, 3.11, and 3.12. (#231)
- Delay
os.getcwd()
call to body ofCondaFormat_v2.create()
whenout_folder
is not passed. (#205)
- Removed formal support for Python 3.7. (#231)
- Remove MANIFEST.in, used for Python sdists, which referenced non-existent files. Source distributions appear correct without MANIFEST.in. (#163)
- Add explicit
zstandard
dependency. (#222)
- @conda-bot
- @dholth
- @callek made their first contribution in #231
- @jaimergp made their first contribution in #235
- @pre-commit-ci[bot]
- Respect umask when unpacking packages, by requiring
conda-package-streaming >= 0.9.0
.
- Include README.md in pypi metadata. (#215)
- @conda-bot
- @dbast
- @dholth
- @pre-commit-ci[bot]
- Include decompressed size when creating
.conda
archives withCondaFormat_v2.create()
, to reduce memory usage on decompression. (#171) Transmuted archives (converted from.tar.bz2
) do not contain the decompressed size. - Include LICENSE, not just LICENSE.txt in info/ section (#172)
- @conda-bot
- @dbast
- @dholth
- @pre-commit-ci[bot]
- Reduce memory usage when creating
.conda
. Allocate only one zstd comperssor when creating.conda
. Lower default compression level to 19 from 22. (#168)
- @dholth
- Require conda-package-streaming 0.7.0 for Windows c:\ vs C:\ check, pypy support
- @dholth
- Remove progress bars.
- Based on conda-package-streaming instead of libarchive.
- Requires the
python-zstandard
(zstandard
) library. - Threadsafe
extract()
function. - More efficient
.conda
handling.
- Remove broken
verify
subcommand. - Remove support for
binsort
(was supposed to help withtar.bz2
compression). (Use.conda
instead.)
- Add sphinx documentation.
- Reformat entire codebase with
black
,isort
. (#132)
- @conda-bot
- @dholth
- @jezdez
- @kenodegard
- @mariusvniekerk
- Support setting the zstd compression level on the cli. (#114)
- Include tested fix for "
info/
sorts first in.tar.bz2
" feature, useful for streaming.tar.bz2
. (#102) - Fix extracting
.conda
given as relative path. (#116) - Gracefully handle missing subcommands. (#105)
- @conda-bot
- @jezdez
- @dholth
- @kenodegard made their first contribution in #112
- @mariusvniekerk made their first contribution in #114
- Don't drop empty directories that happen to be prefixes of something else (#99)
- @tobijk
- @conda-bot
- @chenghlee
- Compute package hashes in threads. (#83)
- Fix running from a read-only working directory (#44)
- Fix symlinks to directories being incorrectly placed in the
info
tarball when transmuting.tar.bz2
- to.conda
-format packages (#84) - No longer generate emtpy metadata.json in v2 packages (#88)
- Fix for TypeError in tarball.py. (#86)
- Remove Python 2 support.
-
Added project board, issue staleness, thread locking and label automation using GitHub action workflows to improve maintenance of GitHub project.
More information can be found in the infra repo: https://github.com/conda/infra
-
Removed unused continuous integration platform config files.
- @dholth
- @conda-bot
- @chenghlee
- @analog-cbarber
- @chrisburr
- @vz-x
- @jezdez
- Python tar extraction now used as a fallback if libarchive fails
- Fix binsort's mangling of symlinks
- Fix #71, larger directories fail to extract using libarchive
- When testing that exceptions are raised or archives containing abs paths, first check that such a "broken" archive was created during test setup... otherwise skip the test.
- api.create now raises an error correctly if archive creation failed or extension is not supported.
- Travis CI issue now resolved, mock added as dependency for conda test environments and system dependencies
- Fixed bug where extract parser cli failed due to not having
out_folder
attribute.
- @mingwandroid
- @leej3
- @beckermr
- @seemethere
- add --force to transmute
- Do not report symlinks as missing files
- Fixes for --process and --out-folder #68
- --out-folder: Normalise, expand user-ify and ensure it ends with os.sep
- @mingwandroid
- @nehaljwani
- add a "prefix" keyword argument to the api.extract function. When combined with dest_dir, the prefix is the base directory, and the dest_dir is the folder name. dest_dir alone as an abspath is both the base directory and the folder name.
- provide a non-ProcessPoolExecutor path when number of processes is 1
- open files to be added to archives in binary mode. On Windows, the implicit default was text mode, which was corrupting newline data and putting in null characters.
- extraction prefix defaults to the folder containing the specified archive. This is a behavior change from 1.3.x, which extracted into the CWD by default.
- @msarahan
- @jjhelmus
- @msarahan
- @jjhelmus
- several small error fixes from bad copypasta
- @msarahan
- provide fallback to built-in tarfile if libarchive fails to import. Won't support new .conda format (obviously)
- tmpdir created in output folder (defaults to cwd, but not always cwd)
- @msarahan
- fix BadZipFile exception handling on py27
- @msarahan
- @msarahan
- put temporary files in CWD/.cph_tmp(random) instead of default temp dir. Hope that this fixes the permission problems seen on appveyor and azure.
- @msarahan
- Write output files to output path directly, rather than any temporary. Hope that this fixes permission errors on appveyor/azure
- @msarahan
- Don't print message for every skipped file that already exists. Don't even look at files that match the target conversion pattern.
- @msarahan
- fix recursion issue with TemporaryDirectory
- @msarahan
- fix setup.cfg path issue with versioneer
- try copying temporary artifact to final location instead of moving it, in hopes of avoiding permission errors
- @msarahan
- add .gitattributes file to fix versioneer not working
- @msarahan
- port rm_rf functionality from conda, to better handle permissions errors being observed on Azure and Appveyor windows hosts (but not on local machines)
- @msarahan
- try to wrap tempdir cleanup so that it never exits violently. Add warning message.
- @msarahan
- add a cph-specific exception, so that downstream consumers of cph don't have to handle libarchive exceptions
- @msarahan
- add get_default_extracted_folder api function that returns the folder location where a file would be extracted to by default (no dest folder specified)
- add --processes flag to cph t, to limit number of processes spawned. Defaults to number of CPUs if not set.
- @msarahan
- generate symlink tests rather than including file layout, to avoid issues on win
- @msarahan
- moved conda_package_handling into src (src layout)
- @msarahan
- improve tests of symlink and other file contents
- @msarahan
- fix creation dropping symlinks and things that are not otherwise "files"
- @msarahan
- fix path join bug, where an absolute path for out_fn was causing file writing problems
- @msarahan
- simplify .conda package info, to work with conda/conda#8639 and conda/conda-build#3500
- add missing six dep
- fix reference in cli.py to incorrect API function (how was this working?)
- Wrap calls to shutil.move in try, because of windows permission errors observed on Appveyor
- @msarahan
- @nehaljwani
- new api-only function,
get_pkg_details
that returns package size and checksum info in dictionary form - add version info output to the CLI
- @msarahan
- fix support for python 2.7
- @msarahan
- @msarahan