Changelog#
Changelog for pyproject2conda
Unreleased#
See the fragment files in changelog.d
v0.11.0 — 2023-11-28#
Added#
Can now access “build-system.requires” as an extra. This can be useful for creating isolated environments to build a package.
Changed#
Can now specify
pip
as a conda dependency. This is needed for cases that there are no pip dependencies in the environment, but you want it there for installing local packages. This may be the case if usingconda-lock
on an environment. Note that, much like python is always first in the dependency list, pip is always last.
v0.10.0 — 2023-11-17#
Added#
Can now specify conda changes using
tool.pyproject2conda.dependencies
table. This is an alternative to using# p2c:
comments.Refactored code. Split
parser
torequirements
andoverrides
. Also cleaned up the parsing logic to hopefully make future changes simpler.
v0.9.0 — 2023-11-14#
Added#
Default is now to remove whitespace from dependencies. For example, the dependency
module > 0.1
will becomemodule>0.1
. To override this behaviour, pass the option--no-remove-whitespace
.Now supports python version
>3.8,<=3.12
Can now specify
extras = false
in pyprojec.toml to skip any extras. The default (extras = true
) is the same asextras = [env_name]
whereenv_name
is the name of the environment (e.g.,tool.pyproject2conda.envs.env_name
).
v0.8.0 — 2023-10-02#
Added#
Added option to either raise error, or print message for environments with no dependencies.
Changed#
pyproject2conda now works with
pyproject.toml
files with no dependencies.
v0.7.0 — 2023-09-26#
Added#
Now use
logging
to print info output.
Changed#
cli now uses
typer
. Since the program was already typed, this simplifies the interface.Program can now be called with any of
pyproject2conda
,p2c
, orpython -m pyproject2conda
.Added cli options to web documentation.
Fixed small typos and typing issues.
The cli option
--python-include
now requires an argument. This is due totyper
not liking options with zero or one arguments. Instead of the bare flag--python-include
including the python spec frompyproject.toml
, you have to pass--python-include infer
to get that behavior.Added extra
all
to pip install options. The default is to not includerich
orshellingham
. Usingpip install pyproject2conda[all]
includes these optional packages. Note that the conda-forge recipe is based on the plain install (i.e., norich
orshellingham
). However, the conda-froge recipe fortyper
does include these. That means, if you want to installpyproject2conda
without the optional extras, you’ll have to use pip.
v0.6.1 — 2023-09-22#
Changed#
Fixed edge case where
--overwrite=check
and have auser_config
. Now when usingp2c project
with auser_config
andoverwrite=check
, the timestamp of the output file will be compared to both thefilename=pyproject.toml
anduser_config
.
v0.6.0 — 2023-09-19#
Added#
Added
project
subcommand. This uses a configuration inpyproject.toml
to build multiple enivonments in one go.Added
--deps
and--reqs
flags to include extra conda and pip requirements.Added
--overwrite
to check if output file exists.Now (correctly) using rich_click.
Added tests for all new cases, and some edge cases.
v0.5.1 — 2023-09-09#
Added#
Added
--sort/--no-sort
flag to cli. Default is to sort dependencies. This fixes issues with changing order inpyproject.toml
leading to different yaml files.
Changed#
Changed structure of the repo to better support some third party tools.
Moved nox environments from
.nox
to.nox/{project-name}/envs
. This fixes issues with ipykernel giving odd names for locally installed environments.Moved repo specific dot files to the
config
directory (e.g.,.noxconfig.toml
toconfig/userconfig.toml
). This cleans up the top level of the repo.added some support for using
nbqa
to run mypy/pyright on notebooks.Added ability to bootstrap development environment using pipx. This should simplify initial setup. See Contributing for more info.
Main repo now on usnistgov.