Skip to content

Conversation

@darabos
Copy link
Contributor

@darabos darabos commented Jul 20, 2025

Due to astral-sh/uv#14197 in uv 0.8.0 our GitHub Actions build is failing with:

error: Requirements contain conflicting URLs for package `lynxkite-core`:
- file:///home/runner/work/lynxkite-2000/lynxkite-2000/lynxkite-core
- file:///home/runner/work/lynxkite-2000/lynxkite-2000/lynxkite-core (editable)

I'm not sure what drove me to work on this on a Sunday at midnight, but I thought setting up a "workspace", as described in https://docs.astral.sh/uv/concepts/projects/workspaces/ would be the best solution. Seems actually pretty nice to me, but I had to work out a few issues. Like other than lynxkite-app, our packages lacked a build system. And a lot of dependencies were wrongly declared. How did this ever work?

@darabos darabos requested a review from JMLizano July 20, 2025 23:39
Comment on lines +31 to +42
- id: deptry
name: deptry for lynxkite-app
entry: bash -c 'cd lynxkite-app && deptry .'
- id: deptry
name: deptry for lynxkite-core
entry: bash -c 'cd lynxkite-core && deptry .'
- id: deptry
name: deptry for lynxkite-graph-analytics
entry: bash -c 'cd lynxkite-graph-analytics && deptry .'
- id: deptry
name: deptry for lynxkite-pillow-example
entry: bash -c 'cd lynxkite-pillow-example && deptry .'
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately, running deptry . in the root doesn't work. fpgmaas/deptry#1060 (comment)

Comment on lines +16 to +17
DEP001 = ["matplotlib", "griffe", "pycrdt"]
DEP003 = ["matplotlib", "griffe", "pycrdt"]
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are conditional imports. Optional dependencies.


typeof = type # We have some arguments called "type".

CACHE_WRAPPER = None # Overwrite this to configure a caching mechanism.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To keep lynxkite-core lightweight, I've moved the joblib cache setup to lynxkite-app. I'm not sure it's worth it — let's reverse it if we see any downsides.

Comment on lines +247 to +252
view: str = "basic",
outputs: list[str] | None = None,
params: list[Parameter] | None = None,
slow: bool = False,
color: str | None = None,
cache: bool | None = None,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To address Griffe warnings, which I saw when I checked if mkdocs still works. (It does.)

@darabos darabos force-pushed the darabos-uv-workspace branch from f8d1960 to 20d727f Compare July 21, 2025 08:42
@darabos darabos changed the base branch from darabos-fix-scroll to main July 21, 2025 08:43
@darabos
Copy link
Contributor Author

darabos commented Jul 21, 2025

I'll merge this to fix CI. But I'd still be grateful for a review! 🙏

@darabos darabos merged commit 93c06b4 into main Jul 21, 2025
1 check passed
@darabos darabos deleted the darabos-uv-workspace branch July 21, 2025 08:51
@darabos darabos mentioned this pull request Jul 21, 2025
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