posit-dev / posit-dev/py-shiny

[Bug]: shiny 1.7.0 has circular dependency with shinychat

Open
#2,473 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

ai-triage:done bug needs-triage Priority: Medium
Dominant language
Python
Stars
1.8k
Forks
135
Avg merge
2d 18h
Merged PRs (30d)
21

Description

Component

Dependency

Severity

P0 - Critical (crash/unusable)

Shiny Version

1.7.0

Python Version

3.12

Minimal Reproducible Example
Steps to reproduce

Inspect the dependency metadata of the two packages:
- shiny 1.7.0 (conda-forge): lists shinychat in run deps
- shinychat 0.6.1 (conda-forge): lists shiny in run deps
Behavior

Summary

shiny 1.7.0 added shinychat as a dependency. However, shinychat 0.6.1 lists shiny as a dependency, creating a circular dependency:

shiny → shinychat → shiny

Impact

This breaks any build system that enforces a strict dependency DAG (e.g. Bazel). The conda solver itself handles this fine, so it won't surface in typical conda install workflows — but it is visible in the conda package metadata and breaks downstream tooling that constructs a dependency graph.

Error Messages (if any)

Environment
linux_x86

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Inspect the conda-forge dependency metadata for shiny 1.7.0 and shinychat 0.6.1, which the issue identifies as the source of the cycle. Determine which dependency declaration should change, then verify that the published metadata no longer forms the shiny → shinychat → shiny cycle and remains compatible with the affected packages.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.