-
Notifications
You must be signed in to change notification settings - Fork 1
feat: package dependency <package-name> cmd to list dependencies
#23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 22 commits
8480959
dd52750
abcd7e9
872e4f8
01fb0e8
f53aeb8
4853887
653a101
48f73b0
7b060d0
531fe81
af3e8b2
f0dccd2
32e8897
63ec990
1499272
e516bf3
5e128f2
916266b
27f3fba
115f663
a6ec7ad
1dbf87d
033839f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,8 +6,13 @@ A command-line interface for interacting with JuliaHub, a platform for Julia com | |
|
|
||
| - **Authentication**: OAuth2 device flow authentication with JWT token handling | ||
| - **Dataset Management**: List, download, upload, and check status of datasets | ||
| <<<<<<< HEAD | ||
|
||
| - **Package Management**: Search and explore Julia packages across registries via REST API (GraphQL fallback), with dependency analysis | ||
| - **Registry Management**: List and manage Julia package registries | ||
| ======= | ||
| - **Package Management**: Search and explore Julia packages across registries via REST API (GraphQL fallback) | ||
| - **Registry Management**: List, add, and update Julia package registries | ||
| >>>>>>> 4c422aed3b5e0e488e6e479143bd5bec64385463 | ||
| - **Project Management**: List and filter projects using GraphQL API | ||
| - **Git Integration**: Clone, push, fetch, and pull with automatic JuliaHub authentication | ||
| - **Julia Integration**: Install Julia and run with JuliaHub package server configuration | ||
|
|
@@ -171,6 +176,13 @@ go build -o jh . | |
| - `jh registry config add` - Add a new registry (JSON payload via stdin or `--file`) | ||
| - `jh registry config update` - Update an existing registry (same JSON schema as add, same flags) | ||
|
|
||
| - `jh package dependency <package-name>` - List package dependencies | ||
| - Default: Shows up to 10 direct dependencies (NAME, REGISTRY, UUID, VERSIONS) | ||
| - `jh package dependency --indirect` - Include indirect dependencies (up to 10 direct, 50 indirect) | ||
| - `jh package dependency --all` - Show all dependencies without limits | ||
| - `jh package dependency --registry General` - Specify registry to use | ||
|
|
||
|
|
||
| ### Project Management (`jh project`) | ||
|
|
||
| - `jh project list` - List all accessible projects | ||
|
|
@@ -274,6 +286,12 @@ jh package search --limit 20 --offset 0 ml | |
| # Get detailed info about a specific package | ||
| jh package info DataFrames | ||
| jh package info Plots --registries General | ||
|
|
||
| # List package dependencies | ||
| jh package dependency DataFrames # Shows up to 10 direct dependencies | ||
| jh package dependency DataFrames --indirect # Includes indirect dependencies | ||
| jh package dependency DataFrames --all --indirect # Shows all dependencies | ||
| jh package dependency CSV --registry General # Use specific registry | ||
| ``` | ||
|
|
||
| ### Registry Operations | ||
|
|
@@ -419,7 +437,7 @@ Note: Arguments after `--` are passed directly to Julia. The `jh run` command: | |
|
|
||
| - **Built with Go** using the Cobra CLI framework | ||
| - **Authentication**: OAuth2 device flow with JWT token management | ||
| - **APIs**: REST API for datasets and package search/info (primary); GraphQL API for projects, user info, and package search/info fallback (single request returns results + total count) | ||
| - **APIs**: REST API for datasets and package search/info (primary); GraphQL API for projects, user info, package search/info fallback, and package dependency lookup | ||
| - **Git Integration**: Seamless authentication via HTTP headers or credential helper | ||
| - **Cross-platform**: Supports Windows, macOS, and Linux | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| query FilteredPackagesCounts( | ||
|
||
| $search: String | ||
| $matchtags: _text | ||
| $registries: _int8 | ||
| $hasfailures: Boolean | ||
| $installed: Boolean | ||
| $notinstalled: Boolean | ||
| $licenses: _text | ||
| $filter: package_rank_vw_bool_exp = {} | ||
| ) { | ||
| package_search_aggregate( | ||
| args: { | ||
| search: $search | ||
| matchtags: $matchtags | ||
| licenses: $licenses | ||
| isinstalled: $installed | ||
| notinstalled: $notinstalled | ||
| hasfailures: $hasfailures | ||
| registrylist: $registries | ||
| } | ||
| where: { _and: [{ fit: { _gte: 1 } }, $filter] } | ||
| ) { | ||
| aggregate { | ||
| count | ||
| } | ||
| } | ||
| } | ||
This file was deleted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"all" means "direct" could be confusing for the users?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you elaborate, didnt get what you mean
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was bit confused about "all" which I thought implies "direct" and "indirect" but here it implies there is no pagination? Can we call it "--no-limit"? Maybe we could have a larger discussion on this on a call