Changelog¶
Version 0.16¶
Removed experimental auto-formatting feature, PR #108. This includes removing the
experimentalextra group for optional dependencies. Users that are interested in auto-formatting the output are suggested to runpyproject-fmtas an additional step, afterini2toml.
Version 0.15¶
Due to the change in API for
pyproject-fmtintroduce a dependency cap.
Version 0.14¶
Introduce
LiteTranslatorandFullTranslatoras convenience classes for more deterministic behaviour, PR #95.setuptoolsplugin:Fix
ValueErrorwhensetup.cfgcontains[options.packages.find]but also lists[options] packages = ...explicitly as a list of package names, issue #93.
pytestplugin:Remove comments when converting
addoptswith multi-line values, issue #98.
Remove
ini2toml.api.{errors,types,transformations}as they are redundant withini2toml.{errors,types,transformations}.
Version 0.13¶
Fix errors when
isortis installed in the same environment asini2toml, PR #83.setuptoolsplugin:Add support for
file:directive ininstall_requiresandextras_require, PR #77.Attention
Note that
setuptools(as per v67.6) may require that alloptional-dependenciesto be specified via thefile:directive if at least one of them requires so.
Version 0.12¶
Version 0.11.3¶
Fix dependency problems by requiring
pyproject-fmt>=0.4.0
Version 0.11.2¶
Adapt to changes in
pyproject-fmt0.4.0
Version 0.11.1¶
Internal test fixes, minor CI and doc improvements
Only list
pyproject-fmtas an experimental dependency on Python 3.7+
Version 0.11¶
Version 0.10¶
setuptoolsplugin:Separate the handling of
license-filesand PEP 621 metadata, #34licenseandlicense-filesare no longer added totool.setuptools.dynamic.Instead
license-filesis added directly totool.setuptools, and thelicenseshould be added asproject.license.text.
Version 0.9¶
Version 0.8¶
Version 0.7¶
Version 0.6.1¶
setuptoolsplugin:Fix dependency splitter for single lines with env markers
Version 0.6¶
isortplugin:Fixed wrong comparison of whitespace and comments with field names
setuptoolsplugin:Explicitly added the default license globs as considered by setuptools/wheels (previously the PEP 621 guarantees about backfilling dynamic fields could not be respected).
Version 0.5.2¶
setuptoolsplugin:Fixed bug that forced normalisation of option subsections even when the keys represent package names or file paths.
Fixed bug that prevented line continuations in the package requirements.
setuptoolsseem to support this use case, and people use it to write markers in separated lines (possible with comments between them).Fixed but that allowed an empty
entry-pointssubtable to be left behind in thetool.setuptoolstable.
Fixed bug that was replacing tables when a new subtable was being added and that new subtable could be written as an inline table
Version 0.5.1¶
setuptoolsplugin:Fixed bug that was preventing
entry-pointsto be automatically added to theproject.dynamicarray.
Version 0.5¶
setuptoolsplugin:Added automatic “update” for deprecated
tests-requirekey. This value associated with this option is now automatically transformed into atestingextras group in theoptional-dependencies.Added automatic “expansion” of environment markers inside the extra key in optional-dependencies. According to PEP 621 (that points to the core metadata spec), the
optional-dependencieskeys must be valid Python identifiers (butsetuptoolshistorically seem to accept markers embedded with:after the extra name).
Bumped the version of the atoml dependency to 1.1.1.
Version 0.4¶
setuptoolsplugin:PROVISIONAL - Added support for specifying
licenseandlicense-filesat the same time viadynamic(this is likely to be revised depending on PEP 639).Added support for multiple files in
long-descriptionviadynamic.
Version 0.3¶
Removed dependency on
typing_extensionsfor Python <= 3.8Removed dependency on
dataclassesfor Python <= 3.6Removed dependency on
importlib-metadatafor Python <= 3.8, but only for minimal installsetuptoolsplugin:Added support for
cmdclass
Version 0.2¶
Improved support for writing inline dicts and inline AoTs in the generated TOML
setuptoolsplugin:Added
data-filessupport (although this option is marked as deprecated).Unified
tool.setuptools.packages.findandtool.setuptools.packages.find-namespaceoptions by adding a new keywordnamespacestool.setuptools.packages.find.whereis now associated with a list of directories (instead of a single value).When not present in the original config file,
include_package_datais explicitly added with theFalsevalue.Fixed
authorsvs.maintainersmixing (now they are handled independently).Added dynamic option for
readme(e.g. when multiple license files are combined).Reordered set of transformations (which includes making
apply_value_processingthe first one).Improved directive handling.
Added deprecation warnings.
Version 0.1¶
Adopt
atoml>=1.1.0as a dependency and stabilise the list conversion.
Version 0.0.3¶
Add validation tests via validate-pyproject.
Move
setuptools.scriptstosetuptools.script-filesto avoid confusion with thescriptsfield defined in PEP 621.Separate
TranslatorandBaseTranslatorclasses. This allows API users to callBaseTranslatordirectly with explicit arguments and bypass the autodiscovery of drivers and plugins (therefore reducing the amount of dependencies and files necessary when “vendorising”ini2toml).The type signature of
BaseTranslatorwas made more flexible to allow returning adictrepresenting the TOML instead of a string.Add a
plain_builtinsdriver. The objective of this change is allowing the removal of the dependency on atoml or tomli-w when usingini2tomlas API only.Improve the choice of
InlineTablevs.Tablefor the generated TOML when using thefull_tomladapter.Improve heuristic to remove superfluous empty tables in the generated TOML string.
distutils.commands-related sections insetup.cfgare now better recognised and transferred to thetool.distutilstable in the generated TOML (previously they were placed undertool.setuptools.commands). The normalisation of the command names usingkebab-caseis no longer performed.Prevent empty
entry-pointsfield to be kept in the TOML when separatingscriptsandgui-scripts.versionis now automatically added todynamicif not provided.Fix
find:directive to match validate-pyproject. Previously{find = ""}was generated, which now is converted to{find = {}}.Add new helpers to the
transformationslibrary:deprecatedandpipe.Add new test derived from setuptools’s docs directly.
Version 0.0.2¶
Small improvements
Documentation updates
Fix virtualenv test example.
Version 0.0.1¶
Initial release with basic functionalities