Skip to content

Remove setuptools runtime dependency on Python 3.12+ - #1281

Merged
jdavid merged 1 commit into
libgit2:masterfrom
wimglenn:setuptools
Mar 13, 2024
Merged

Remove setuptools runtime dependency on Python 3.12+#1281
jdavid merged 1 commit into
libgit2:masterfrom
wimglenn:setuptools

Conversation

@wimglenn

@wimglenn wimglenn commented Mar 13, 2024

Copy link
Copy Markdown
Contributor

The change from aab211a has incorrectly made setuptools a dependency of pygit2. It is not a runtime dependency, it is only a build dependency - pkg_resources / setuptools are not used outside of the installer script i.e. setup.py.

This change removes the setuptools dependency from package metadata, and makes it possible to use pygit2 without needing setuptools installed at all.

The change from aab211a incorrectly made setuptools a runtime dependency of pygit2. It is not a runtime dependency, it is only a build dependency (pkg_resources / setuptools are not used outside of the installer script setup.py). It should be possible to use pygit2 without needing setuptools installed.
@jdavid
jdavid merged commit be6945c into libgit2:master Mar 13, 2024
@wimglenn
wimglenn deleted the setuptools branch March 13, 2024 13:19
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request May 19, 2024
# 1.15.0 (2024-05-18)

- Many deprecated features have been removed, see below

- Upgrade to libgit2 v1.8.1

- New `push_options` optional argument in `Repository.push(...)`
  [#1282](libgit2/pygit2#1282)

- New support comparison of `Oid` with text string

- Fix `CheckoutNotify.IGNORED`
  [#1288](libgit2/pygit2#1288)

- Use default error handler when decoding/encoding paths
  [#537](libgit2/pygit2#537)

- Remove setuptools runtime dependency
  [#1281](libgit2/pygit2#1281)

- Coding style with ruff
  [#1280](libgit2/pygit2#1280)

- Add wheels for ppc64le
  [#1279](libgit2/pygit2#1279)

- Fix tests on EPEL8 builds for s390x
  [#1283](libgit2/pygit2#1283)

Deprecations:

- Deprecate `IndexEntry.hex`, use `str(IndexEntry.id)`

Breaking changes:

- Remove deprecated `oid.hex`, use `str(oid)`
- Remove deprecated `object.hex`, use `str(object.id)`
- Remove deprecated `object.oid`, use `object.id`

- Remove deprecated `Repository.add_submodule(...)`, use `Repository.submodules.add(...)`
- Remove deprecated `Repository.lookup_submodule(...)`, use `Repository.submodules[...]`
- Remove deprecated `Repository.init_submodules(...)`, use `Repository.submodules.init(...)`
- Remove deprecated `Repository.update_submodule(...)`, use `Repository.submodules.update(...)`

- Remove deprecated constants `GIT_OBJ_XXX`, use `ObjectType`
- Remove deprecated constants `GIT_REVPARSE_XXX`, use `RevSpecFlag`
- Remove deprecated constants `GIT_REF_XXX`, use `ReferenceType`
- Remove deprecated `ReferenceType.OID`, use instead `ReferenceType.DIRECT`
- Remove deprecated `ReferenceType.LISTALL`, use instead `ReferenceType.ALL`

- Remove deprecated support for passing dicts to repository\'s `merge(...)`,
  `merge_commits(...)` and `merge_trees(...)`. Instead pass `MergeFlag` for `flags`, and
  `MergeFileFlag` for `file_flags`.

- Remove deprecated support for passing a string for the favor argument to repository\'s
  `merge(...)`, `merge_commits(...)` and `merge_trees(...)`. Instead pass `MergeFavor`.
msk pushed a commit to msk/pkgsrc that referenced this pull request May 11, 2026
# 1.15.0 (2024-05-18)

- Many deprecated features have been removed, see below

- Upgrade to libgit2 v1.8.1

- New `push_options` optional argument in `Repository.push(...)`
  [#1282](libgit2/pygit2#1282)

- New support comparison of `Oid` with text string

- Fix `CheckoutNotify.IGNORED`
  [#1288](libgit2/pygit2#1288)

- Use default error handler when decoding/encoding paths
  [#537](libgit2/pygit2#537)

- Remove setuptools runtime dependency
  [#1281](libgit2/pygit2#1281)

- Coding style with ruff
  [#1280](libgit2/pygit2#1280)

- Add wheels for ppc64le
  [#1279](libgit2/pygit2#1279)

- Fix tests on EPEL8 builds for s390x
  [#1283](libgit2/pygit2#1283)

Deprecations:

- Deprecate `IndexEntry.hex`, use `str(IndexEntry.id)`

Breaking changes:

- Remove deprecated `oid.hex`, use `str(oid)`
- Remove deprecated `object.hex`, use `str(object.id)`
- Remove deprecated `object.oid`, use `object.id`

- Remove deprecated `Repository.add_submodule(...)`, use `Repository.submodules.add(...)`
- Remove deprecated `Repository.lookup_submodule(...)`, use `Repository.submodules[...]`
- Remove deprecated `Repository.init_submodules(...)`, use `Repository.submodules.init(...)`
- Remove deprecated `Repository.update_submodule(...)`, use `Repository.submodules.update(...)`

- Remove deprecated constants `GIT_OBJ_XXX`, use `ObjectType`
- Remove deprecated constants `GIT_REVPARSE_XXX`, use `RevSpecFlag`
- Remove deprecated constants `GIT_REF_XXX`, use `ReferenceType`
- Remove deprecated `ReferenceType.OID`, use instead `ReferenceType.DIRECT`
- Remove deprecated `ReferenceType.LISTALL`, use instead `ReferenceType.ALL`

- Remove deprecated support for passing dicts to repository\'s `merge(...)`,
  `merge_commits(...)` and `merge_trees(...)`. Instead pass `MergeFlag` for `flags`, and
  `MergeFileFlag` for `file_flags`.

- Remove deprecated support for passing a string for the favor argument to repository\'s
  `merge(...)`, `merge_commits(...)` and `merge_trees(...)`. Instead pass `MergeFavor`.
jperkin pushed a commit to TritonDataCenter/pkgsrc that referenced this pull request May 14, 2026
# 1.15.0 (2024-05-18)

- Many deprecated features have been removed, see below

- Upgrade to libgit2 v1.8.1

- New `push_options` optional argument in `Repository.push(...)`
  [#1282](libgit2/pygit2#1282)

- New support comparison of `Oid` with text string

- Fix `CheckoutNotify.IGNORED`
  [#1288](libgit2/pygit2#1288)

- Use default error handler when decoding/encoding paths
  [#537](libgit2/pygit2#537)

- Remove setuptools runtime dependency
  [#1281](libgit2/pygit2#1281)

- Coding style with ruff
  [#1280](libgit2/pygit2#1280)

- Add wheels for ppc64le
  [#1279](libgit2/pygit2#1279)

- Fix tests on EPEL8 builds for s390x
  [#1283](libgit2/pygit2#1283)

Deprecations:

- Deprecate `IndexEntry.hex`, use `str(IndexEntry.id)`

Breaking changes:

- Remove deprecated `oid.hex`, use `str(oid)`
- Remove deprecated `object.hex`, use `str(object.id)`
- Remove deprecated `object.oid`, use `object.id`

- Remove deprecated `Repository.add_submodule(...)`, use `Repository.submodules.add(...)`
- Remove deprecated `Repository.lookup_submodule(...)`, use `Repository.submodules[...]`
- Remove deprecated `Repository.init_submodules(...)`, use `Repository.submodules.init(...)`
- Remove deprecated `Repository.update_submodule(...)`, use `Repository.submodules.update(...)`

- Remove deprecated constants `GIT_OBJ_XXX`, use `ObjectType`
- Remove deprecated constants `GIT_REVPARSE_XXX`, use `RevSpecFlag`
- Remove deprecated constants `GIT_REF_XXX`, use `ReferenceType`
- Remove deprecated `ReferenceType.OID`, use instead `ReferenceType.DIRECT`
- Remove deprecated `ReferenceType.LISTALL`, use instead `ReferenceType.ALL`

- Remove deprecated support for passing dicts to repository\'s `merge(...)`,
  `merge_commits(...)` and `merge_trees(...)`. Instead pass `MergeFlag` for `flags`, and
  `MergeFileFlag` for `file_flags`.

- Remove deprecated support for passing a string for the favor argument to repository\'s
  `merge(...)`, `merge_commits(...)` and `merge_trees(...)`. Instead pass `MergeFavor`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants