Accepting request 1184831 from home:dgarcia:branches:devel:languages:python

- Require new packages:
  - python-hishel https://build.opensuse.org/request/show/1184828
  - python-pbs-installer https://build.opensuse.org/request/show/1184829
  - python-unearth (update) https://build.opensuse.org/request/show/1184830

- Update to 2.16.1
  * Fix new interface from pbs_installer regarding build_dir and best
    match auto-install strategy for pdm use
    (same as for pdm python install --list) (#2943)
  * Fix crash when pdm is used with importlib-metadata version 8.0.
    (#2974)
- 2.16.0
  * Add --no-extras to pdm export to strip extras from the
    requirements. Now the default behavior is to keep extras. (#2519)
  * Support PEP 723: running scripts with inline metadata in
    standalone environment with dependencies. (#2924)
  * pdm use and pdm python install now take requires-python into
    account (incl. from pyproject.toml) if python version not
    specified and pdm use provides auto installation by that. (#2943)
  * --no-isolation no longer installs build-requires nor dynamic build
    dependencies, to be consistent with pip. (#2944)
  * Add notifiers in CLI output when global project is being used.
    (#2952)
  * Use tool.pdm.resolution table when calculating the content hash of
    project file, previously only overrides table was used.
  * This will change the hash already stored in the lockfile, so bump
    the lockfile version to 4.4.2. (#2956)
  * Add max retries on read timeout or bad connection. (#2914)
  * Don't update local files if they don't change. (#2966)
  * Don't list python versions that don't have any installation link
    for the current platform. (#2970)
  * Clarify the purposes of pdm outdated and --unconstrained option.
    (#2965)
  * Some clarifications on the interpreter selection and central
    package cache. (#2967)

OBS-URL: https://build.opensuse.org/request/show/1184831
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pdm?expand=0&rev=40
This commit is contained in:
Matej Cepl 2024-07-04 13:18:50 +00:00 committed by Git OBS Bridge
commit e07016c735
6 changed files with 915 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>test</package>
</multibuild>

3
pdm-2.16.1.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b8680028b3aff3af8e15b483467da36bb9f02fcd402cf939da8ab6375d955131
size 2618476

716
python-pdm.changes Normal file
View File

@ -0,0 +1,716 @@
-------------------------------------------------------------------
Tue Jul 2 08:11:05 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
- Update to 2.16.1
* Fix new interface from pbs_installer regarding build_dir and best
match auto-install strategy for pdm use
(same as for pdm python install --list) (#2943)
* Fix crash when pdm is used with importlib-metadata version 8.0.
(#2974)
- 2.16.0
* Add --no-extras to pdm export to strip extras from the
requirements. Now the default behavior is to keep extras. (#2519)
* Support PEP 723: running scripts with inline metadata in
standalone environment with dependencies. (#2924)
* pdm use and pdm python install now take requires-python into
account (incl. from pyproject.toml) if python version not
specified and pdm use provides auto installation by that. (#2943)
* --no-isolation no longer installs build-requires nor dynamic build
dependencies, to be consistent with pip. (#2944)
* Add notifiers in CLI output when global project is being used.
(#2952)
* Use tool.pdm.resolution table when calculating the content hash of
project file, previously only overrides table was used.
* This will change the hash already stored in the lockfile, so bump
the lockfile version to 4.4.2. (#2956)
* Add max retries on read timeout or bad connection. (#2914)
* Don't update local files if they don't change. (#2966)
* Don't list python versions that don't have any installation link
for the current platform. (#2970)
* Clarify the purposes of pdm outdated and --unconstrained option.
(#2965)
* Some clarifications on the interpreter selection and central
package cache. (#2967)
- 2.15.4
* Build wheel from sdist if available, to make sure sdist is built
properly. This behavior is consistent with pypa/build. (#2843)
* Fix the issue of self-referencing extra dependencies failing to be
resolved for local packages. (#2898)
* Fix an issue of max recursion depth error when parsing a poetry
project with circular dependencies on local packages. (#2900)
* Fix a bug that VCS dependencies and --self don't work in the
exported requirements.txt with hashes. (#2908)
* Fix a cache miss when there exist built wheels for a given link.
(#2912)
* Don't try to store caches when --no-cache is given. (#2913)
- 2.15.3
* Fixed pdm venv activate, to also work for windows. And added
documentation on how to authenticate to Azure Artifacts (#2851)
* Don't show unsupported formats in pdm export. (#2877)
* Proxy (HTTP_PROXY env vars) settings are ignored for custom
indexes. (#2880)
* Fix the quoting of venv activate command for powershell. (#2881)
* Raise an error if the package given by pdm update does not exist
in the select dependency group but in other groups. (#2885)
- 2.15.2
* Use get_runner() method to build the task runner in run command.
runner_cls attribute is deprecated. (#2872)
* Expand ${PROJECT_ROOT} in source URLs. (#2846)
* Fix env and other options being inherited in nested composite
scripts. (#2849)
* Keep the ${PROJECT_ROOT} variable in dependencies after running
pdm lock --update-reuse. (#2852)
* Make direct_minimal_versions work on newly added dependencies.
(#2853)
* Fix a syntax error in the zsh completion script. (#2868)
- 2.15.1
* Disable check update in zsh completion script. (#2838)
* Fixes cached packages metadata files (.referrers) collisions on
sync when using a venv with symlink cache method. (#2839)
* Build docs with object inventory to support cross references from
Sphinx documentation projects. (#2841)
- 2.15.0
* Packages format preferences can now be defined in the project
pyproject.toml using the no-binary, only-binary and prefer-binary
keys of the tool.pdm.resolution section. (#2656)
* Don't create project and virtualenv when running pdm python
install. (#2809)
* Clean up the python installation directory if a previous download
was unsuccessful. (#2810)
* Don't cache editable installations. (#2816)
* Fix a bug that installing in-project plugins with editable local
paths doesn't work. (#2820)
* Don't create log directory until it's needed, to fix a
PermissionError in docker environment. (#2825)
* Fix recursive script detection on multiple invocations. (#2829)
- 2.14.0
* Revert the package cache introduced in 2.13. Don't cache the
decompressed contents of wheels unless being told so. (#2803)
* Fix inconsistent logging when pdm use a different python
interpreter (#2776)
* Fix PDM unable to find Python interpreters when
PDM_IGNORE_ACTIVE_VENV is set (#2779)
* Check verify_ssl when trusting each source. (#2784)
* Fix name check for project itself in pdm outdated (#2785)
* Fix a regression that proxy env vars are not respected. (#2788)
* Fix an issue that venv provider can't be found when providers are
explicitly configured. (#2792)
* Fix a bug that [tool.pdm.options] are ignored if -c/--config
CONFIG is given. (#2793)
* Make --without respect groups in dev-dependencies (#2799)
- 2.13.3
* Per-source configuration for ca-certs and client-cert. #2754
* Remove all caches by removing individual cache types one by one.
#2757
* Use the default HTTP client when downloading the pythons, to use
the certificates settings. #2759
* Fix a race condition where pth files take effect when multiple
packages are installed in parallel. #2762
* Refuse to run recursive composite scripts. #2766
- 2.13.2
* Fix errors when parsing poetry format that contains special
characters in author name.
* Poetry-specific parse_name_email and NAME_EMAIL_RE moved from
pdm.formats.base to pdm.formats.poetry. #2665
* Fix a race condition in cached packages. When a cached package is
being created it shouldn't be used for installation. #2739
* Add back PreparedCandidate.build() for backward-compatibility.
#2747
* Fixed a small non-code typo in docs and prodivded better wording.
#2740
- 2.13.1
* Fix a bug that PDM couldn't find interpreters for global project.
#2726
* Make the cache package path shorter to solve the Windows path
problem. #2730
* Extract "Lock file" doc from "Manage Dependencies" doc. #2725
- 2.13.0
* Add option to exclude group(s) when running pdm sync/install
-G:all by adding flag --without group1,group2,... #2258
* Default to log to user home and make logs directory configurable.
#2398
* Add an option keep_going to continue on errors for composite
scripts and return the last failing exit code. #2582
* Add an option working_dir for PDM's scripts to set the current
working directory. #2620
* Allow updating specific sub-dependencies (i.e., transitive
dependencies) in the lock file. #2628
* Add --config-setting option to
add/install/sync/update/remove/export commands, the config
settings dictionary will be shared by all packages. #2636
* Cache the decompressed contents of wheels for faster access. #2660
* Add configuration for timeout for network requests. #2680
* Reuse the request sesison within the environment. #2697
* Caches can be disabled by using the --no-cache option or setting
the PDM_NO_CACHE environment variable. #2702
* Switch to httpx.Client for HTTP requests, drop requests
dependency. #2709
* We have timemachine now! You can exclude packages published newer
than a certain date via pdm lock --exclude-newer=<date>, allowing
reproduction of resolutions regardless of new package releases.
#2712
* Add command pdm outdated to check the outdated packages and list
the latest versions. #2718
* When python.use_venv is on, always try to create a virtualenv when
using pdm use to switch the Python interpreter. #2720
* Support installing Pythons from python-build-standalone. Add
command group pdm python to manage Python installations. And pdm
use can automatically install the Python interpreter if it's not
found. #2721
* Supports custom distribution files path via -d/--dest option for
pdm publish. #2723
* Don't modify TOML tables that are not related to PDM. #2666
* Made --without imply --with :all. #2670
* Expand user path for venv.location and other path-like config
values. #2672
* Give a default version when it's missing in pyproject.toml when
parsing candidate's metadata. #2677
* Fix the issue that ANSI codes are shown in the output of pdm
--help on Windows. #2678
* Don't show empty configuration sections in pdm config. #2683
* Document the difference between [tool.pdm.scripts] and
[project.scripts] #2121
* Remove the support of pth cache method. And symlink cache method
now behaves the same as symlink_individual cache method. #2660
* Remove pdm.models.environment module deprecated before. Also
remove the renamed members from pdm.environments. #2710
* Delete setup.cfg, move tool configurations under it to pyproject.toml #2703
-------------------------------------------------------------------
Wed Feb 28 13:23:05 UTC 2024 - Markéta Machová <mmachova@suse.com>
- Update to 2.12.4
* Officially drop the support for Python 3.7.
* Allow exporting current project as editable dependency with pdm export.
* Use ==major.minor.* as default requires python for application projects.
* We now use the package-type field in the tool.pdm table to differentiate
between library and application projects.
* pdm lock now supports --update-reuse option to keep the pinned versions
in the lockfile if possible.
* Introduce a new lock strategy inherit_metadata to inherit and merge
markers from parent requirements. This is enabled by default when
creating a new lockfile.
* Allow excluding packages from the lockfile via tool.pdm.resolution.excludes
setting, the dependencies will also be skipped.
* Rename --no-lock option to --frozen-lockfile.
* Add --no-markers to export command to exclude markers from the output.
* Change the warning category emitted by deprecated_warning() to PDMDeprecationWarning.
* Rename the preferred_pins argument of provider classes to locked_candidates,
and deprecate the old name.
* Use env PDM_NO_EDITABLE as the default value for --no-editable option.
-------------------------------------------------------------------
Fri Jan 5 17:45:28 UTC 2024 - Dirk Müller <dmueller@suse.com>
- remove unnecessary pdm-pep517
-------------------------------------------------------------------
Wed Dec 13 02:58:14 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 2.10.4:
* Do not detect as requirements.txt if the file is a python script.
* Provide information of the original line when parsing requirement fails.
* Resolve `-r` requirements paths relative to the requirement file they
are specified in.
* Updating package now overwrites the old files instead of removing
before installing.
* Improve the error message when a specific package can't be found in the
lockfile.
* Add lock option to resolve direct dependencies to the minimal versions
available.
* Fix a bug that build requirements are installed into wrong location
when using `--venv` option.
* Officially supports python3.12 now.
* Fix an issue that `--no-lock` option doesn't work as expected. Also
support `--no-lock` option for `add`, `remove` and `update` commands.
* Use `findpython` to find pythons with the spec given by the user.
* Support passing filter patterns as positional arguments to `pdm list`
command. Add `--tree` as an alias and preferred name of `--graph` option.
* Switch to truststore by default.
* Allow `pdm run` to run a script with the relative or absolute path.
* Fix the compatibility issue with copier 8.0+.
* Makes `comarable_version("1.2.3+local1") == Version("1.2.3")`.
* Default behavior for pdm venv activate when shell detection fails.
* Handle parsing errors when converting from poetry-style metadata.
* Remove the legacy build backend `pdm-pep517`.
* Fix the comparison of the candidate keys in the lockfile.
* Don't update `pyproject.toml` if both `--unconstrained` and `--dry-run`
are passed to `pdm update`.
* Skip sources with empty URL when merging sources.
* Support target python with other architectures.
* Allow to change the python providers from the config.
* Fix a bug that egg-info directories are not removed completely, leading
to incomplete distribution.
* Skip distributions with wrong package meta information and duplicate path.
* Avoid mistakenly passing command-line arguments while testing.
* Fix a bug that lockfile groups are overwritten when running locking in
preceding step of `pdm install`.
* Tolerate and actually ignore the local versions in version specifiers.
* Fix a bug that shared cache cannot support overlapping namespace packages.
* Fix a bug that `pdm install --plugins` can't install self.
* Fix a cache collision between named requirements and url requirements.
* `pdm init` now accepts a template argument to initialize project from a
built-in or Git template.
* Replace the `DeprecationWarning` with `FutureWarning` for better exposure.
* Serve `install-pdm.py` and its checksum file on the docs site.
* Add support for using `truststore` as the SSL backend. This only works
on Python 3.10 or newer.
* Fix the breaking change by adding the functions back to the old location
with deprecation warnings.
* Fix the duplicate entries in the output of `pdm self list`.
* Disable hashes caching for local files.
* Populate the `url` field when converting requirements from a
Pipfile-style file requirement.
* Fix a bug that empty source tables in configuration files causes errors
when running pdm commands.
* Fix a resolution conflict caused by requested yanked version also in
other transitive dependencies.
-------------------------------------------------------------------
Thu Jun 22 07:41:39 UTC 2023 - Andreas Schneider <asn@cryptomilk.org>
- Fix building with Python 3.9
-------------------------------------------------------------------
Mon Jun 19 14:02:16 UTC 2023 - Dirk Müller <dmueller@suse.com>
- Update to version 2.7.4
* Fix the warning of extras not found due to extra names not normalized.
#2006
* Pop up a warning when the deprecated parser argument is passed to
BaseCommand.__init__() method. #2007
* Fix a bug that merging settings with AoTs causing a failure. #2011
-------------------------------------------------------------------
Thu Apr 6 06:26:23 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com>
- Remove pep517 requirement.
-------------------------------------------------------------------
Tue Apr 4 06:45:30 UTC 2023 - Daniel Garcia <daniel.garcia@suse.com>
- Remove python-installer version limit in requires
- Disable broken tests
- Update to 2.4.9:
* Fix a bug of synchronization of not considering the revision of
VCS requirement in comparison. #1762
* Improve the error message when parsing an invalid requirement
string. #1765
* Fix a bug that pdm export output doesn't include the extras of the
dependencies. #1767
- Release v2.4.8 (2023-03-09)
* Fix the resolution order to prefer the packages causing the
conflict. This can make the resolution reach a solution faster.
#1752
* Fix a bug that embedded credentials in URL are not respected for
the default source. #1757
- Release v2.4.7 (2023-03-02)
* Abort if lockfile isn't generated when executing pdm export. #1730
* Ignore venv.prompt configuration when using conda as the backend.
#1734
* Fix a bug of finding local packages in the parent folder when it
exists in the current folder. #1736
* Ensure UTF-8 encoding when generating README.md. #1739
* Fix a bug of show command not showing metadata of the current
project. #1740
* Replace . with - when normalizing package name. #1745
* Support using pdm venv activate without specifying env_name to
activate in project venv created by conda #1735
- Release v2.4.6 (2023-02-20)
* Fix a resolution failure when the project has cascading relative
path dependencies. #1702
* Don't crash when trying to update the shebang in a binary script.
#1709
* Handle the legacy specifiers that is unable to parse with
packaging>22.0. #1719
* Fix the setup.py parser to ignore the expressions unable to parse
as a string. This is safe for initializing a requirement. #1720
* Fix a bug converting from flit metadata when the source file can't
be found. #1726
* Add config example for Emacs using eglot + pyright #1721
* Use ruff as the linter. #1715
* Document installation via asdf. #1725
- Release v2.4.5 (2023-02-10)
* Fix a bug that built wheels are prioritized over source
distributions with higher version number. #1698
- Release v2.4.4 (2023-02-10)
* Add more intuitive error message when the requires-python doesn't
work for all dependencies. #1690
* Prefer built distributions when finding packages for metadata
extraction. #1535
- Release v2.4.3 (2023-02-06)
* Allow creating venv in project forcely if it already exists. #1666
* Always ignore remembered selection in pdm init. #1672
* Fix the fallback build backend to pdm-pep517 instead of
setuptools. #1658
* Eliminate the deprecation warnings from importlib.resources. #1660
* Don't crash when failed to get the latest version of PDM for
checking update. #1663
* Fix the priorities of importable formats to make sure the correct
format is used. #1669
* Import editable requirements into dev dependencies. #1674
- Release v2.4.2 (2023-01-31)
* Skip some tests on packaging < 22. #1649
* Fix a bug that sources from the project config are not loaded. #1651
* Set VIRTUAL_ENV in pdm run. #1652
- Release v2.4.1 (2023-01-28)
* Add proper display for the extra pypi sources in pdm config. #1622
* Support running python scripts without prefixing with python. #1626
* Ignore the python requirement for overriden packages. #1575
* Fix the wildcards in requirement specifiers to make it pass the
new parser of packaging>=22. #1619
* Add the missing subdirectory attribute to the lockfile entry.
#1630
* Fix a bug that VCS locks don't update when the rev part changes.
#1640
* Redirect the spinner output to stderr. #1646
* Ensure the destination directory exists before building the
packages. #1647
- Release v2.4.0 (2023-01-12)
* Support multiple PyPI indexes in the configuration. They will be
tried after the sources in pyproject.toml. #1310
* Accept yanked versions when the requirement version is pinned.
#1575
* Expose PDM fixtures as a pytest plugin pdm.pytest for plugin
developers. #1594
* Show message in the status when fetching package hashes. Fetch
hashes from the JSON API response as well. #1609
* Mark pdm.lock with an @generated comment. #1611
* Exclude site-packages for symlinks of the python interpreter as
well. #1598
* Fix a bug that error output can't be decoded correctly on Windows.
#1602
- Release v2.3.4 (2022-12-27)
* Detect PDM inside a zipapp and disable some functions. #1578
* Don't write sitecustomize to the home directory if it exists in
the filesystem(not packed in a zipapp). #1572
* Fix a bug that a directory is incorrectly marked as to be deleted
when it contains symlinks. #1580
-------------------------------------------------------------------
Tue Dec 20 17:57:35 UTC 2022 - Daniel Garcia <daniel.garcia@suse.com>
- Add missing dependency python-pyproject-hooks
-------------------------------------------------------------------
Mon Dec 19 11:43:13 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 2.3.3:
* Allow relative paths in `build-system.requires`, since `build` and
`hatch` both support it. Be aware it is not allowed in the standard.
* Strip the local part when building a specifier for comparison with the
package version. This is not permitted by PEP 508 as implemented by
`packaging 22.0`.
* Update the version for check_update after self update
* Fix the matching problem of packages in the lockfile.
* Exclude `package==22.0` from the dependencies to avoid some breakages to
the end users. #1568
* Fix an installation failure when the RECORD file contains commas in the
file path. #1010
* Fallback to `pdm.pep517` as the metadata transformer for unknown custom
build backends. #1546
* Fix a bug that Ctrl + C kills the python interactive session instead of
clearing the current line. #1547
* Fix a bug with egg segment for local dependency #1552
* Update `installer` to `0.6.0`. #1550
* Update minimum version of `unearth` to `0.6.3` and test against
`packaging==22.0`. #1555
* Fix a resolution loop issue when the current project depends on itself
and it uses the dynamic version from SCM. #1541
* Don't give duplicate results when specifying a relative path for `pdm
use`. #1542
* Beautify the error message of build errors. Default to showing the last
10 lines of the build output. #1491
* Rename the `tool.pdm.overrides` table to
`tool.pdm.resolution.overrides`. The old name is deprecated at the same
time. #1503
* Add backend selection and `--backend` option to `pdm init` command,
users can choose a favorite backend from `setuptools`, `flit`,
`hatchling` and `pdm-pep517`(default), since they all support PEP 621
standards. #1504
* Allows specifying the insertion position of user provided arguments in
scripts with the `{args[:default]}` placeholder. #1507
* The local package is now treated specially during installation and
locking. This means it will no longer be included in the lockfile, and
should never be installed twice even when using nested extras. This will
ensure the lockdown stays relevant when the version changes. #1481
* Fix the version diff algorithm of installed packages to consider local
versions as compatible. #1497
* Fix the confusing message when detecting a Python interpreter under
`python.use_venv=False` #1508
* Fix the test failure with the latest `findpython` installed. #1516
* Fix the module missing error of pywin32 in a virtualenv with
`install.cache` set to `true` and caching method is `pth`. #863
* Drop the dependency `pdm-pep517`. #1504
* Replace `pep517` with `pyproject-hooks` because of the rename. #1528
* Remove the support for exporting the project file to a `setup.py`
format, users are encouraged to migrate to the PEP 621 metadata. #1504
- drop findpython-022.patch (upstream)
-------------------------------------------------------------------
Wed Nov 16 08:58:23 UTC 2022 - Matej Cepl <mcepl@suse.com>
- Add findpython-022.patch to make package work with findpython
0.2.2 (from gh#pdm-project/pdm#1516).
-------------------------------------------------------------------
Tue Nov 15 19:09:33 UTC 2022 - Matej Cepl <mcepl@suse.com>
- Skip failing test (gh#pdm-project/pdm#1516).
-------------------------------------------------------------------
Wed Nov 9 16:22:05 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
- Update to v2.2.1
Features & Improvements#
* Make sitecustomize.py respect the PDM_PROJECT_MAX_DEPTH environment variable #1471
Bug Fixes#
* Fix the comparison of python_version in the environment marker. When the version contains only one digit, the result was incorrect. #1484
- Update to v2.2.0
Features & Improvements#
* Add venv.prompt configuration to allow customizing prompt when a virtualenv is activated #1332
* Allow the use of custom CA certificates per publish repository using ca_certs or from the command line via pdm publish --ca-certs <path> .... #1392
* Rename the plugin command to self, and it can not only manage plugins but also all dependencies. Add a subcommand self update to update PDM itself. #1406
* Allow pdm init to receive a Python path or version via --python option. #1412
* Add a default value for requires-python when importing from other formats. #1426
* Use pdm instead of pip to resolve and install build requirements. So that PDM configurations can control the process. #1429
* Customizable color theme via pdm config command. #1450
* A new pdm lock --check flag to validate whether the lock is up to date. #1459
* Add both option and config item to ship pip when creating a new venv. #1463
* Issue warning and skip the requirement if it has the same name as the current project. #1466
* Enhance the pdm list command with new formats: --csv,--markdown and add options --fields,--sort to control the output contents. Users can also include
licenses in the --fields option to display the package licenses. #1469
* A new pre-commit hook to run pdm lock --check in pre-commit. #1471
Bug Fixes#
* Fix the issue that relative paths don't work well with --project argument. #1220
* It is now possible to refer to a package from outside the project with relative paths in dependencies. #1381
* Ensure pypi.[ca,client]_cert[s] config items are passed to distribution builder install steps to allow for custom PyPI index sources with
self signed certificates. #1396
* Fix a crash issue when depending on editable packages with extras. #1401
* Do not save the python path when using non-interactive mode in pdm init. #1410
* Fix the matching of python* command in pdm run. #1414
* Show the Python path, instead of the real executable, in the Python selection menu. #1418
* Fix the HTTP client of package publishment to prompt for password and read PDM configurations correctly. #1430
* Ignore the unknown fields when constructing a requirement object. #1445
* Fix a bug of unrelated candidates being fetched if the requirement is matching wildcard versions(e.g. ==1.*). #1465
* Use importlib-metadata from PyPI for Python < 3.10. #1467
Documentation#
* Clarify the difference between a library and an application. Update the guide of multi-stage docker build. #1371
* Removals and Deprecations#
* Remove all top-level imports, users should import from the submodules instead. #1404
* Remove the usages of old config names deprecated since 2.0. #1422
* Remove the deprecated color functions, use rich's console markup instead. #1452
-------------------------------------------------------------------
Wed Oct 5 09:47:36 UTC 2022 - Daniel Garcia <daniel.garcia@suse.com>
- Update to v2.1.5
* Ensure pypi.[ca,client]_cert[s] config items are passed to distribution
builder install steps to allow for custom PyPI index sources with self
signed certificates. #1396
* Fix a crash issue when depending on editable packages with extras. #1401
* Do not save the python path when using non-interactive mode in pdm init.
#1410
* Restrict importlib-metadata (<5.0.0) for Python <3.8 #1411
-------------------------------------------------------------------
Tue Oct 4 22:54:50 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
- Update to v2.1.4 (2022-09-17)
Bug Fixes
Fix a lock failure when depending on self with URL requirements. #1347
Ensure list to concatenate args for composite scripts. #1359
Fix an error in pdm lock --refresh if some packages has URLs. #1361
Fix unnecessary package downloads and VCS clones for certain commands. #1370
Fix a conversion error when converting a list of conditional dependencies from a Poetry format. #1383
Documentation
Adds a section to the docs on how to correctly work with PDM and version control systems. #1364
- Update to v2.1.3 (2022-08-30)
Features & Improvements
When adding a package to (or removing from) a group, enhance the formatting of the group name in the printed message. #1329
Bug Fixes
Fix a bug of missing hashes for packages with file:// links the first time they are added. #1325
Ignore invalid values of data-requires-python when parsing package links. #1334
Leave an incomplete project metadata if PDM fails to parse the project files, but emit a warning. #1337
Fix the bug that editables package isn't installed for self package. #1344
Fix a decoding error for non-ASCII characters in package description when publishing it. #1345
Documentation
Clarify documentation explaining setup-script, run-setuptools, and is-purelib. #1327
-------------------------------------------------------------------
Sun Aug 14 10:47:53 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Update to v2.1.2
* Fix a bug that dependencies from different versions of the same
package override each other. #1307
* Forward SIGTERM to child processes in pdm run. #1312
* Fix errors when running on FIPS 140-2 enabled systems using
Python 3.9 and newer. #1313
* Fix the build failure when the subprocess outputs with non-UTF8
characters. #1319
* Delay the trigger of post_lock for add and update operations,
to ensure the pyproject.toml is updated before the hook is run.
#1320
- Release 2.1.1
* Add a env_file.override option that allows the user to specify
that the env_file should override any existing environment
variables. This is not the default as the environment the code
runs it should take precedence. #1299
* Fix a bug that unnamed requirements can't override the old ones
in either add or update command. #1287
* Support mutual TLS to private repositories via pypi.client_cert
and pypi.client_key config options. #1290
* Set a minimum version for the packaging dependency to ensure
that packaging.utils.parse_wheel_filename is available. #1293
* Fix a bug that checking for PDM update creates a venv. #1301
* Prefer compatible packages when fetching metadata. #1302
- Release 2.1.0
* Allow the use of custom CA certificates using the pypi.ca_certs
config entry. #1240
* Add pdm export to available pre-commit hooks. #1279
* Skip incompatible requirements when installing build
dependencies. #1264
* Fix a crash when pdm tries to publish a package with non-ASCII
characters in the metadata. #1270
* Try to read the lock file even if the lock version is
incompatible. #1273
* For packages that are only available as source distribution,
the summary field in pdm.lock contains the description from the
package's pyproject.toml. #1274
* Do not crash when calling pdm show for a package that is only
available as source distribution. #1276
* Fix a bug that completion scripts are interpreted as rich
markups. #1283
* Remove the dependency of pip. #1268
* Deprecate the top-level imports from pdm module, it will be
removed in the future. #1282
- Release 2.0.3
* Support Conda environments when detecting the project
environment. #1253
* Fix the interpreter resolution to first try python executable
in the PATH. #1255
* Stabilize sorting of URLs in metadata.files in pdm.lock. #1256
* Don't expand credentials in the file URLs in the [metada.files]
table of the lock file. #1259
- Release 2.0.2
* env_file variables no longer override existing environment
variables. #1235
* Support referencing other optional groups in
optional-dependencies with <this_package_name>[group1, group2]
#1241
* Respect requires-python when creating the default venv. #1237
- Release 2.0.1
* Write lockfile before calling 'post_lock' hook #1224
* Suppress errors when cache dir isn't accessible. #1226
* Don't save python path for venv commands. #1230
- Release 2.0.0
* Fix a bug that the running env overrides the PEP 582
PYTHONPATH. #1211
* Add pwsh as an alias of powershell for shell completion. #1216
* Fixed a bug with zsh completion regarding --pep582 flag. #1218
* Fix a bug of requirement checking under non-isolated mode.
#1219
* Fix a bug when removing packages, TOML document might become
invalid. #1221
- Back to testing all python flavors in one go: CLI tests fail if
only one python interpreter is found. The test suite runs under 3
minutes per flavor on a normal workstation.
-------------------------------------------------------------------
Sun Jun 19 22:03:26 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Fix runtime requirements, test by removing build requirements and
let it pull in in test flavors.
-------------------------------------------------------------------
Fri Jun 17 07:42:46 UTC 2022 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 1.15.2:
* Fix a defect in the resolution preferences that causes an infinite
resolution loop. #1119
* Update the poetry importer to support the new [tool.poetry.build] config
table. #1131
* Fix a bug where dependencies with requires-python pre-release versions
caused pdm update to fail with InvalidPyVersion. #1111
* Fix a bug that dependencies are missing from the dep graph when they are
depended by a requirement with extras. #1097
* Allow specifying lockfile other than pdm.lock by --lockfile option or
PDM_LOCKFILE env var. #1038
* Ensure the pip module inside venv in installation script. #1053
* Fix a bug that file paths in URLs are not correctly unquoted. #1073
* Fix a bug on Python 3.11 that overriding an existing command from plugins
raises an error. #1075
* Fix a bug of missing subdirectory fragment when importing from a
requirements.txt. #1036
* Fix use_cache.json with corrupted python causes pdm use error. #1039
* Fix a bug that requirement with extras isn't resolved to the version as
specified by the range. #1001
* Support installer 0.5.x. #1002
* Don't create project files in pdm search command. #993
* Fix a bug that the env vars in source urls in exported result are not
expanded. #997
* Don't follow symlinks for the paths in the requirement strings. #976
* Fix a bug that _.site_packages is overridden by default option value. #985
* Filter out the unmatched python versions when listing the available
versions. #941
* Fix a bug displaying the available python versions. #943
* Fix a bug under non-UTF8 console encoding. #960
* Fix a bug that data files are not copied to the destination when using
installation cache. #961
* Switch from pythonfinder to findpython as the Python version finder. #930
* Fix a regression issue that prereleases can't be installed if the version
specifier of the requirement doesn't imply that. #920
* Fix a race condition in parallel installation by changing metadata to a
lazy property. This fixes a bug that incompatible wheels are installed
unexpectedly. #924
* Fix a bug that incompatible platform-specific wheels are installed. #921
* Fix the compatibility issue with pip>=22.0. #875
* Fix the hash calculation when generating direct_url.json for a local
pre-built wheel. #861
* Reduce the number of tests that require network, and mark the rest with
network marker. #858
- Remove artifacts.tar.gz, it is now included in the source tarball.
- Drop patches because they are included upstream:
* mark-network-tests.patch
* mark-tests-path.patch
* sys-exec-failures.patch
- Add patch instrumentation-test-case.patch:
* Instrument a test case for ease of debugging.
- Switch to multibuild per Python version since the testsuite takes
approximately seven eons.
-------------------------------------------------------------------
Mon Jan 24 09:37:39 UTC 2022 - Matej Cepl <mcepl@suse.com>
- My ad-hoc patch failed_test_use_command.patch replaced by the
upstream mark-tests-path.patch (from
gh#pdm-project/pdm#commit/23f1cf62a302 and gh#pdm-project/pdm#865).
-------------------------------------------------------------------
Sun Jan 23 20:56:10 UTC 2022 - Matej Cepl <mcepl@suse.com>
- By downgrading python-installer to 0.3 we have eliminated
number of failed tests.
-------------------------------------------------------------------
Sun Jan 23 00:55:41 UTC 2022 - Matej Cepl <mcepl@suse.com>
- Replacing mark-network-tests.patch with the upstream PR
(gh#pdm-project/pdm#864), which unfortunately leaves a lot of
tests still failing.
-------------------------------------------------------------------
Fri Jan 21 01:35:33 UTC 2022 - Matej Cepl <mcepl@suse.com>
- Add mark-network-tests.patch for skipping network-requiring
tests (gh#pdm-project/pdm#858). This is a very shotgun
approach, just mark everything which fails.
- Add sys-exec-failures.patch to fix problems with the version
number of Python 3.10 (gh#pdm-project/pdm#865).
-------------------------------------------------------------------
Thu Jan 20 18:51:14 UTC 2022 - Matej Cepl <mcepl@suse.com>
- Initial packaging effort for pdm 1.12.6

169
python-pdm.spec Normal file
View File

@ -0,0 +1,169 @@
#
# spec file for package python-pdm
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define psuffix -test
%bcond_without test
%endif
%if "%{flavor}" == ""
%define psuffix %{nil}
%bcond_with test
%endif
%{?sle15_python_module_pythons}
Name: python-pdm%{psuffix}
Version: 2.16.1
Release: 0
Summary: Python Development Master
License: MIT
URL: https://github.com/pdm-project/pdm/
Source0: https://files.pythonhosted.org/packages/source/p/pdm/pdm-%{version}.tar.gz
BuildRequires: %{python_module base >= 3.7}
BuildRequires: %{python_module importlib-metadata if %python-base <= 3.9}
BuildRequires: %{python_module pdm-backend}
BuildRequires: %{python_module pip}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-blinker
Requires: python-cachecontrol >= 0.12.11
Requires: python-certifi
Requires: python-dep-logic
Requires: python-findpython >= 0.4
Requires: python-hishel
Requires: python-installer
Requires: python-packaging >= 20.9
Requires: python-pbs-installer
Requires: python-pdm-backend
Requires: python-platformdirs
Requires: python-pyproject-hooks
Requires: python-python-dotenv >= 0.15
Requires: python-requests-toolbelt
Requires: python-resolvelib >= 1.0.1
Requires: python-rich >= 12.3.0
Requires: python-shellingham >= 1.3.2
Requires: python-unearth >= 0.12.1
Requires: python-virtualenv >= 20
Requires: (python-tomlkit >= 0.11.1 with python-tomlkit < 1)
# from python-cachecontrol[filecache]
Requires: python-lockfile >= 0.9
%if 0%{?python_version_nodots} < 311
Requires: python-tomli >= 1.1.0
%endif
%if 0%{?python_version_nodots} <= 39
Requires: python-importlib-metadata
Requires: python-typing-extensions
%endif
%if 0%{?python_version_nodots} >= 310
Requires: python-truststore
%endif
Requires(post): update-alternatives
Requires(postun): update-alternatives
BuildArch: noarch
# SECTION test requirements
%if %{with test}
BuildRequires: %{python_module hishel}
BuildRequires: %{python_module httpx}
BuildRequires: %{python_module pbs-installer}
BuildRequires: %{python_module pdm = %{version}}
BuildRequires: %{python_module pytest-httpserver}
BuildRequires: %{python_module pytest-mock}
BuildRequires: %{python_module pytest-xdist}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module unearth}
%endif
# /SECTION
%python_subpackages
%description
PDM is a modern Python package manager with PEP 582 support. It
installs and manages packages in a similar way to npm that
doesn't need to create a virtualenv at all!
%prep
%autosetup -p1 -n pdm-%{version}
# we don't care about certifi version, the distro package replaces the certificates with system ones anyway
sed -i 's/"certifi>=[0-9.]*"/"certifi"/' pyproject.toml
%build
%if !%{with test}
%pyproject_wheel
%endif
%install
%if !%{with test}
%pyproject_install
%python_clone -a %{buildroot}%{_bindir}/pdm
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%endif
%if %{with test}
%check
# no network
donttest="network"
# mock testing finds the wrong python versions in our multiflavor setup
donttest="$donttest or test_project_packages_path or test_conda_backend_create"
donttest="$donttest or test_init_non_interactive"
# Broken test trying to find a resolution to a git repository
donttest="$donttest or test_add_editable_package or test_non_editable_override_editable"
# Broken test unable to find a resolution for wheel
donttest="$donttest or test_list_dependency_graph_include_exclude or test_list_csv_include_exclude_valid"
# Unable to find a resolution for setuptools
donttest="$donttest or test_list_csv_include_exclude or test_remove_editable_packages_while_keeping_normal or test_project_backend"
# Requires network
donttest="$donttest or test_build_with_no_isolation"
# Requires network
donttest="$donttest or test_find_candidates_from_find_links"
donttest="$donttest or test_build_single_module"
donttest="$donttest or test_build_single_module_with_readme"
donttest="$donttest or test_build_package"
donttest="$donttest or test_build_src_package"
donttest="$donttest or test_build_package_include"
donttest="$donttest or test_build_src_package_by_include"
donttest="$donttest or test_build_with_config_settings"
donttest="$donttest or test_cli_build_with_config_settings"
donttest="$donttest or test_build_ignoring_pip_environment"
donttest="$donttest or test_find_interpreters_with_PDM_IGNORE_ACTIVE_VENV"
donttest="$donttest or test_hooks[build] or test_hooks[publish]"
donttest="$donttest or test_skip_option_from_signal"
donttest="$donttest or test_skip_all_option_from_signal"
donttest="$donttest or test_skip_pre_post_option_from_signal"
donttest="$donttest or test_build_distributions"
donttest="$donttest or test_show_self_package"
donttest="$donttest or test_publish_and_build_in_one_run"
donttest="$donttest or test_expand_project_root_in_url"
%pytest -v -k "not ($donttest)"
%endif
%post
%python_install_alternative pdm
%postun
%python_uninstall_alternative pdm
%if !%{with test}
%files %{python_files}
%doc README.md
%license LICENSE
%python_alternative %{_bindir}/pdm
%{python_sitelib}/pdm
%{python_sitelib}/pdm-%{version}*-info
%endif
%changelog