Skip to content

Update setuptools requirement from >=65.5.1 to >=84.0.0 - #20

Closed
dependabot[bot] wants to merge 48 commits into
mainfrom
dependabot/pip/setuptools-gte-84.0.0
Closed

dependabot[bot] wants to merge 48 commits into
mainfrom
dependabot/pip/setuptools-gte-84.0.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 1, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on setuptools to permit the latest version.

Changelog

Sourced from setuptools's changelog.

v84.0.0

Features

  • Newline-separated keywords and platformspypa/setuptools#4887old specification <https://peps.python.org/pep-0345/>_ separated items with spaces and the current one uses commas. (#4887)
  • Extensionpypa/distutils#373#5022)
  • The C compiler modules now emit log messages through their own compilers.C.* loggers instead of the distutils root logger, part of decoupling the compilers package from distutils. The logger names are normalized to a stable compilers.C.* prefix so they remain constant as the package migrates toward a standalone compilers.C distribution. (#5266)
  • The C compilers gained a Compiler.call method -- a thin wrapper over subprocess.check_call (with macOS deployment-target env injection) that is the modern replacement for Compiler.spawn. The compilers no longer depend on distutils.spawn, distutils.dir_util, distutils.file_util, distutils._modified, or distutils.util.execute/split_quoted: the generic newer/newer_group and split_quoted helpers are vendored into the compilers package, and Compiler.mkpath/move_file/execute are implemented directly on the standard library (os.makedirs/shutil.move). The methods are retained for backward compatibility. (#5267)
  • The compilers no longer depend on distutils.util, distutils.version, distutils.compat, or distutils._macos_compat. The platform-identification helpers (get_platform/get_host_platform/is_mingw) now live in distutils.compilers.platform.detect and the macOS deployment-target logic and compiler_fixup in distutils.compilers.platform.macos; CygwinCCompiler.gcc_version returns a packaging.version.Version. distutils.util re-exports the platform/macOS helpers from their new homes for backward compatibility rather than keeping duplicate copies. (sysconfig lookups still route through distutils pending its own decoupling.) (#5268)
  • The compilers now read their build configuration from the standard library's sysconfig instead of distutils.sysconfig. Per-compiler customization -- previously distutils.sysconfig.customize_compiler -- has moved into Compiler.configure_system(): a no-op on the base class, with UnixCCompiler applying the compiler/flag/archiver settings CPython recorded in sysconfig (and the usual CC/CFLAGS/LDSHARED/… environment overrides). distutils.sysconfig.customize_compiler is retained as a thin wrapper that calls compiler.configure_system(). (#5269)

Bugfixes

  • The MSVC linker now passes its arguments through a response file when the command line would exceed the Windows maximum length, fixing failures when linking a large number of objects. (#4177)
  • The Cygwin and MinGW compilers now pass -O1 instead of a bare -O. The two are equivalent to GCC, but cc1 rejected the bare form when building 32-bit extensions with -m32. -- by :user:dchaudhari7177 (#4873)
  • copy_filepypa/distutils#379#5079)
  • Setuptools wheels no longer bundled the project's own test modules. -- by :user:itscloud0 (#5212)
  • build_ext no longer fails when cross-compiling with a compiler other than MSVC (such as MinGW). Compiler now provides a no-op initialize()pypa/distutils#399

Improved Documentation

  • Clarified what "correspond exactly to the directory structure" means in the packages section of the Package Discovery user guide. (#4109)
  • Documented how bdist_wheel's py_limited_api option controls abi3 wheel tagging for extension modules -- by :user:Himanshuagrawal4 (#4741)

Deprecations and Removals

  • Compiler.spawn is deprecated in favor of the new Compiler.call. call raises native subprocess exceptions; spawn remains as a shim that emits a DeprecationWarning and translates them to DistutilsExecError. The MSVC spawn compatibility shim for third-party monkeypatches predating the env argument (numpy.distutils before 1.19, per pypa/distutils#15) has been removed. distutils.spawn.spawn is likewise reduced to a thin wrapper around subprocess.check_call: it no longer resolves cmd[0] via shutil.which (subprocess searches PATH itself) nor injects MACOSX_DEPLOYMENT_TARGET (that now lives with the compilers, the only callers to which it applied). (#5267)
  • Building an extension with a MACOSX_DEPLOYMENT_TARGET lower than the interpreter's configured value now raises compilers.errors.PlatformError instead of distutils.errors.DistutilsPlatformError (the macOS deployment-target check moved into the compilers package). CygwinCCompiler.gcc_version returns a packaging.version.Version rather than the removed distutils.version.LooseVersion. Completing the transition begun in pypa/distutils#246, UnixCCompiler.runtime_library_dir_option now returns the ["-Wl,--enable-new-dtags", "-Wl,-rpath,<dir>"] list directly for GNU ld rather than collapsing it into a single string, and the temporary distutils.compat.consolidate_linker_args shim has been removed. (#5268)
  • The compilers now define their own exception vocabulary instead of borrowing distutils' framework errors. Language-agnostic exceptions (Error, UnknownFileType, and a new PlatformError) live at distutils.compilers.errors, leaving room for future compilers.<language> siblings; the C/C++-specific CompileError/LinkError/LibError/PreprocessError remain in distutils.compilers.C.errors. The compilers now raise compilers.errors.PlatformError where they previously raised distutils.errors.DistutilsPlatformError/DistutilsModuleError, and compilers._modified.newer raises the stdlib FileNotFoundError. distutils.errors keeps its own framework exceptions and re-exports the compiler ones (CCompilerError, CompileError, etc.) for backward compatibility; because CCompilerError is compilers.errors.Error, code catching it (as distutils' top-level handlers do) still catches the new PlatformError. (#5270)
  • customize_compiler now asserts that the compiler-related config variables (CC, CXX, CFLAGS, etc.) resolve to strings, raising AssertionError if any are unexpectedly Nonepypa/distutils#363

v83.0.0

Features

  • Require Python 3.10 or later.

... (truncated)

Commits
  • 72e919a Merge pull request #5293 from pypa/bugfix/integration-pip-flit-backend
  • 1b29701 Select the top-level pyproject.toml when reading build requirements
  • bb1b381 Bump version: 83.0.0 → 84.0.0
  • ee6fdd7 Sync with distutils @ e8eb87855 (#5292)
  • 2a4a9e4 Merge remote-tracking branch 'origin/main' into distutils-e8eb87855
  • cbd1195 Merge https://github.com/jaraco/skeleton
  • bd3594e Merge pull request #5287 from Avasam/Configuring-lint.flake8-comprehensions.a...
  • f02e90a Configure C408 to allow dict(a=1) rather than disabling it
  • c55f52b Configuring lint.flake8-comprehensions.allow-dict-calls-with-keyword-argument...
  • e9904b0 Match the distutils sdist base type for the user_options override
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

YukinoshitaSherry and others added 18 commits September 13, 2025 22:54
The repo documented the CLI but never said what CellForge is for or what it
achieved. This makes the paper's contribution legible from the front page and
adds the project infrastructure a research tool needs to take contributions.

README
- Lead with the result: PCC 0.9883 on Adamson, MSE_DE 0.1736 on Norman,
  first in 14/15 blinded judge comparisons, 6 datasets across 3 modalities.
- Map the three paper stages (Formulation/Ideation/Execution) onto the
  package layout, and document the coordination score and its convergence
  criterion.
- Summarise the six generated architectures, the benchmark datasets with GEO
  accessions, per-run token and GPU cost, and the measured failure-mode
  distribution.
- State the weak results (0.535 DEG recall, 0.420 protein recall) rather than
  omit them.

docs/
- QUICKSTART, ARCHITECTURE, RESULTS, MODELS, DATASETS, FAQ, ROADMAP.

Infrastructure
- CI: pytest on Python 3.9-3.12, lint, sdist/wheel build, CITATION.cff
  validation, secret scan. requirements-ci.txt carries the minimal set the
  43 tests actually need, so CI skips the full scientific stack.
- Issue templates (bug, bad research plan, feature), PR template, dependabot.
- CONTRIBUTING, CODE_OF_CONDUCT, SECURITY, CHANGELOG.
- pyproject.toml for the build backend and black/isort/ruff/mypy/pytest
  config. Package metadata stays in setup.py to avoid a second source of
  truth for dependencies.

Data and examples
- scripts/download_datasets.py fetches all six benchmark datasets from the
  scPerturb Zenodo records with md5 verification. Filenames, sizes, and
  checksums were read from the live Zenodo API; one download was verified
  end to end.
- examples/ carries a task description per benchmark.

CITATION.cff listed "CellForge authors" and no paper. It now carries the full
author roster and arXiv:2508.02276 as the preferred citation.

Verified: 43/43 tests pass, twine check passes, CITATION.cff validates against
schema 1.2.0, all .github YAML parses, no broken relative links across the 15
markdown files.
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v4...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [@openai/codex-sdk](https://github.com/openai/codex/tree/HEAD/sdk/typescript) from 0.116.0 to 0.146.0.
- [Commits](https://github.com/openai/codex/commits/rust-v0.146.0/sdk/typescript)

---
updated-dependencies:
- dependency-name: "@openai/codex-sdk"
  dependency-version: 0.146.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Updates the requirements on [referencing](https://github.com/python-jsonschema/referencing) to permit the latest version.
- [Release notes](https://github.com/python-jsonschema/referencing/releases)
- [Changelog](https://github.com/python-jsonschema/referencing/blob/main/docs/changes.rst)
- [Commits](python-jsonschema/referencing@v0.30.2...v0.37.0)

---
updated-dependencies:
- dependency-name: referencing
  dependency-version: 0.37.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
A run costs roughly 80k prompt / 400k completion tokens plus 4-8 GPU-hours.
Nothing in the repository showed what you get for that, so the decision to try
CellForge had to be made blind.

examples/outputs/adamson_crispri/ is a complete worked bundle laid out the way a
run leaves one: task analysis report, research plan (md/json/mmd), and the
generated training script with its metrics and verification output.

On provenance, stated per file in PROVENANCE.md and in every README that points
at the bundle. This was assembled without an LLM provider key, without the Codex
CLI and without the dataset, so it is not the transcript of a live run:

- task_analysis_report.md and research_plan.* are hand-written to match the
  schemas the code actually serialises, section for section
  (TaskAnalysisReport.to_markdown, refinement.py's five top-level plan keys)
- result.py is real, working code. It passes the repository's own deterministic
  verifier: file, compile, --help, --selftest, and metrics.json structure
- metrics.json and verification.json are the genuine output of really executing
  result.py and really running CodeGenerationVerifier, on synthetic data

The synthetic numbers (pcc 0.618, pcc_de 0.218) are a smoke test and are not
comparable to the paper's 0.9883 on real Adamson data. PROVENANCE.md says so,
explains why genome-wide PCC is inflated on real data, why r2_de is legitimately
negative, and notes that the synthetic generator is sympathetic to the
architecture it demonstrates.

result.py is not a sketch. It conditions the perturbation on the target gene's
embedding tied to the decoder output weights, rather than a free lookup table,
because held-out rows in a lookup table never receive gradient and the
unseen-perturbation split is then unsolvable in principle. torch/numpy/anndata
are imported lazily so --help and --selftest run in a bare interpreter.

scripts/export_example_run.py packages a genuine run into this layout, scrubbing
API keys, absolute paths, usernames and hostnames, and aborting rather than
writing a file that still matches a credential pattern. A real bundle should
replace this one; CONTRIBUTING.md now asks for exactly that.

.gitignore needed an explicit !examples/outputs/ because `outputs/` matched it
and git will not descend into an excluded directory.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…ons/checkout-7

Bump actions/checkout from 4 to 7
…i/codex-sdk-0.146.0

Bump @openai/codex-sdk from 0.116.0 to 0.146.0
…e-0.37.0

Update referencing requirement from >=0.30.2 to >=0.37.0
Updates the requirements on [setuptools](https://github.com/pypa/setuptools) to permit the latest version.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](pypa/setuptools@v65.5.1...v84.0.0)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-version: 84.0.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github

dependabot Bot commented on behalf of github Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: dependencies. Please create it before Dependabot can add it to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@dependabot @github

dependabot Bot commented on behalf of github Oct 2, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/pip/setuptools-gte-84.0.0 branch October 2, 2026 16:37
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.

4 participants