Skip to content

Mark LuxCore imports as public using @public#1585

Merged
avik-pal merged 3 commits intomainfrom
copilot/mark-luxcore-imports-public
Dec 6, 2025
Merged

Mark LuxCore imports as public using @public#1585
avik-pal merged 3 commits intomainfrom
copilot/mark-luxcore-imports-public

Conversation

Copy link
Contributor

Copilot AI commented Dec 6, 2025

Plan: Mark LuxCore imports as public using SciMLPublic

  • Understand the issue and codebase structure
  • Add @public declaration for LuxCore imports (lines 30-45 in src/Lux.jl)
  • Validate the change by loading the module
  • Format the code with JuliaFormatter
  • Final validation
  • Move @public declaration to end of file per review feedback
Original prompt

This section details on the original issue you should resolve

<issue_title>Mark LuxCore imports in Lux as public</issue_title>
<issue_description>https://github.com/LuxDL/Lux.jl/blob/main/src/Lux.jl#L34-L45

These imports need to be marked public in Lux. Use SciMLPublic for this</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Co-authored-by: avik-pal <30564094+avik-pal@users.noreply.github.com>
src/Lux.jl Outdated
Comment on lines 49 to 62
@public (
initialparameters,
initialstates,
parameterlength,
statelength,
outputsize,
update_state,
trainmode,
testmode,
setup,
apply,
replicate,
preserves_state_type,
)
Copy link
Member

Choose a reason for hiding this comment

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

@copilot put this at the end of the file

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Moved the @public declaration to the end of the file as requested (commit 37a08e1).

Copilot AI changed the title [WIP] Mark LuxCore imports as public in Lux Mark LuxCore imports as public using @public Dec 6, 2025
Copilot AI requested a review from avik-pal December 6, 2025 17:01
Co-authored-by: avik-pal <30564094+avik-pal@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Dec 6, 2025

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/EnzymeAD/Enzyme.jl/tarball/820f06722a87d9544f42679182eb0850690f9b45
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/EnzymeAD/Reactant.jl/tarball/f3e31b90afcd152578a6c389eae46dd38b9a4f38
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/FluxML/Functors.jl/tarball/60a0339f28a233601cb74468032b5c302d5067de
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/FluxML/MacroTools.jl/tarball/1e0228a030642014fe5cfe68c2c0a818f9e3f522
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/FluxML/NNlib.jl/tarball/eb6eb10b675236cee09a81da369f94f16d77dc2f
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/FluxML/Optimisers.jl/tarball/131dc319e7c58317e8c6d5170440f6bdaee0a959
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaArrays/ArrayInterface.jl/tarball/d81ae5489e13bc03567d4fbbb06c546a5e53c857
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaArrays/StaticArrays.jl/tarball/b8693004b385c842357406e3af647701fe783f98
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaArrays/StaticArraysCore.jl/tarball/6ab403037779dae8c514bad259f32a447262455a
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/OpenSpecFun_jll.jl/tarball/1346c9208249809840c91b26703912dff463d335
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaCollections/DataStructures.jl/tarball/4e1fe97fdaed23e9dc21d4d664bea76b65fc50a0
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=@temp -e using Pkg; Pkg.add(Pkg.PackageSpec(name=&#34;JuliaFormatter&#34;, version=&#34;1&#34;)); using JuliaFormatter; format(&#34;.&#34;) (http block)
  • https://api.github.com/repos/JuliaCollections/OrderedCollections.jl/tarball/05868e21324cede2207c6f0f466b4bfef6d5e7ee
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=@temp -e using Pkg; Pkg.add(Pkg.PackageSpec(name=&#34;JuliaFormatter&#34;, version=&#34;1&#34;)); using JuliaFormatter; format(&#34;.&#34;) (http block)
  • https://api.github.com/repos/JuliaConcurrent/Atomix.jl/tarball/29bb0eb6f578a587a49da16564705968667f5fa8
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaConcurrent/UnsafeAtomics.jl/tarball/b13c4edda90890e5b04ba24e20a310fbe6f249ff
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaDiff/ChainRulesCore.jl/tarball/e4c6a16e77171a5f5e25e9646617ab1c276c5607
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaDiff/DiffResults.jl/tarball/782dd5f4561f5d267313f23853baaaa4c52ea621
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaDiff/DiffRules.jl/tarball/23163d55f885173722d1e4cf0f6110cdbaf7e272
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaDiff/ForwardDiff.jl/tarball/f4244ab887f376f8a075b1b2097589e62ee667db
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaDocs/DocStringExtensions.jl/tarball/7442a5dfe1ebb773c29cc2962a8980f47221d76c
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaGPU/Adapt.jl/tarball/7e35fca2bdfba44d797c53dfe63a51fabf39bfc0
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaGPU/GPUArrays.jl/tarball/83cf05ab16a73219e5f6bd1bdfa9848fa24ac627
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaGPU/KernelAbstractions.jl/tarball/b5a371fcd1d989d844a4354127365611ae1e305f
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaLang/Compat.jl/tarball/9d8a54ce4b17aa5bdce0ea5c34bc5e7c340d16ad
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaLang/PrecompileTools.jl/tarball/07a921781cab75691315adc645096ed5e370cb77
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaLang/ScopedValues.jl/tarball/c3b2323466378a2ba15bea4b2f73b081e022f473
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaLang/Tokenize.jl/tarball/468b4685af4abe0e9fd4d7bf495a6554a6276e75
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=@temp -e using Pkg; Pkg.add(Pkg.PackageSpec(name=&#34;JuliaFormatter&#34;, version=&#34;1&#34;)); using JuliaFormatter; format(&#34;.&#34;) (http block)
  • https://api.github.com/repos/JuliaMath/IrrationalConstants.jl/tarball/b2d91fe939cae05960e760110b328288867b5758
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaMath/NaNMath.jl/tarball/9b8215b1ee9e78a293f99797cd31375471b2bcae
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaMath/SpecialFunctions.jl/tarball/f2685b435df2613e25fc10ad8c26dddb8640f547
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaObjects/ConstructionBase.jl/tarball/b4b092499347b18a015186eae3042f72267106cb
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaPackaging/JLLWrappers.jl/tarball/0533e564aae234aff59ab625543145446d8b6ec2
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaPackaging/Preferences.jl/tarball/0f27480397253da18fe2c12a4ba4eb9eb208bf3d
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaPackaging/Requires.jl/tarball/62389eeff14780bfe55195b7204c0d8738436d64
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaPluto/ExpressionExplorer.jl/tarball/4a8c0a9eebf807ac42f0f6de758e60a20be25ffb
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaSIMD/CPUSummary.jl/tarball/f3a21d7fc84ba618a779d1ed2fcca2e682865bab
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaStats/LogExpFunctions.jl/tarball/13ca9e2586b89836fd20cccf56e57e2b9ae7f38f
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaStats/Statistics.jl/tarball/ae3bb1eb3bba077cd276bc5cfc337cc65c3075c0
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/KristofferC/Crayons.jl/tarball/249fe38abf76d48563e2f4556bebd215aa317e15
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=@temp -e using Pkg; Pkg.add(Pkg.PackageSpec(name=&#34;JuliaFormatter&#34;, version=&#34;1&#34;)); using JuliaFormatter; format(&#34;.&#34;) (http block)
  • https://api.github.com/repos/MichaelHatherly/CommonMark.jl/tarball/5fdf00d1979fd4883b44b754fc3423175c9504b4
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=@temp -e using Pkg; Pkg.add(Pkg.PackageSpec(name=&#34;JuliaFormatter&#34;, version=&#34;1&#34;)); using JuliaFormatter; format(&#34;.&#34;) (http block)
  • https://api.github.com/repos/MilesCranmer/DispatchDoctor.jl/tarball/fc34127e78323c49984e1a146d577d0f890dd2b4
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/SciML/ADTypes.jl/tarball/8b2b045b22740e4be20654175cc38291d48539db
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/SciML/CommonWorldInvalidations.jl/tarball/ae52d1c52048455e85a387fbee9be553ec2b68d0
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/SciML/IfElse.jl/tarball/debdd00ffef04665ccbb3e150747a77560e8fad1
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/SciML/SciMLPublic.jl/tarball/ed647f161e8b3f2973f24979ec074e8d084f1bee
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/SciML/Static.jl/tarball/49440414711eddc7227724ae6e570c7d5559a086
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/c42f/FastClosures.jl/tarball/acebe244d53ee1b461970f8910c235b259e772ef
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/domluna/JuliaFormatter.jl/tarball/59cf7ad64f1b0708a4fa4369879d33bad3239b56
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=@temp -e using Pkg; Pkg.add(Pkg.PackageSpec(name=&#34;JuliaFormatter&#34;, version=&#34;1&#34;)); using JuliaFormatter; format(&#34;.&#34;) (http block)
  • https://api.github.com/repos/jonniedie/ConcreteStructs.jl/tarball/f749037478283d372048690eb3b5f92a79432b34
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/julia-vscode/CSTParser.jl/tarball/0157e592151e39fa570645e2b2debcdfb8a0f112
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=@temp -e using Pkg; Pkg.add(Pkg.PackageSpec(name=&#34;JuliaFormatter&#34;, version=&#34;1&#34;)); using JuliaFormatter; format(&#34;.&#34;) (http block)
  • https://api.github.com/repos/jw3126/ArgCheck.jl/tarball/f9e9a66c9b7be1ad7372bbd9b062d9230c30c5ce
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/jw3126/Setfield.jl/tarball/c5391c6ace3bc430ca630251d02ea9687169ca68
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/m-j-w/CpuId.jl/tarball/fcbb72b032692610bfbdb15018ac16a36cf2e406
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/rdeits/CommonSubexpressions.jl/tarball/cda2cfaebb4be89c9084adaca7dd7333369715c5
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/simonster/Reexport.jl/tarball/45e428421666073eab6f2da5c9d310d99bb12f9b
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/vchuravy/HashArrayMappedTries.jl/tarball/2eaa69a7cab70a52b9687c8bf950a5a93ec895ae
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/vtjnash/Glob.jl/tarball/97285bbd5230dd766e9ef6749b80fc617126d496
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=@temp -e using Pkg; Pkg.add(Pkg.PackageSpec(name=&#34;JuliaFormatter&#34;, version=&#34;1&#34;)); using JuliaFormatter; format(&#34;.&#34;) (http block)
  • pkg.julialang.org
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=. -e using Pkg; Pkg.instantiate() (dns block)
    • Triggering command: /usr/bin/julia julia --startup-file=no --project=@temp -e using Pkg; Pkg.add(Pkg.PackageSpec(name=&#34;JuliaFormatter&#34;, version=&#34;1&#34;)); using JuliaFormatter; format(&#34;.&#34;) (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@mergify
Copy link

mergify bot commented Dec 6, 2025

🧪 CI Insights

Here's what we observed from your CI run for 37a08e1.

🟢 All jobs passed!

But CI Insights is watching 👀

@github-actions
Copy link
Contributor

github-actions bot commented Dec 6, 2025

Benchmark Results (Julia v1.11)

Time benchmarks
main 37a08e1... main / 37a08e1...
basics/MHA 3.99 ± 0.23 μs 4.1 ± 0.26 μs 0.973 ± 0.084
basics/MHA (first run) 4.55 ± 1.9 μs 4.96 ± 2 μs 0.917 ± 0.54
basics/MHA reactant 0.0612 ± 0.0086 ms 0.0583 ± 0.0059 ms 1.05 ± 0.18
basics/MHA reactant (comp + run) 0.139 ± 0.0038 s 0.138 ± 0.0028 s 1.01 ± 0.034
basics/conv 11.9 ± 11 μs 12.8 ± 11 μs 0.93 ± 1.1
basics/conv (first run) 10.5 ± 1.8 μs 10.3 ± 0.63 μs 1.02 ± 0.19
basics/conv reactant 0.0471 ± 0.0017 ms 0.0477 ± 0.0029 ms 0.989 ± 0.071
basics/conv reactant (comp + run) 0.0992 ± 0.0032 s 0.0979 ± 0.0042 s 1.01 ± 0.054
basics/dense 0.18 ± 0.001 μs 0.18 ± 0.01 μs 1 ± 0.056
basics/dense (first run) 0.2 ± 0.001 μs 0.2 ± 0.01 μs 1 ± 0.05
basics/dense reactant 0.0444 ± 0.0014 ms 0.0443 ± 0.002 ms 1 ± 0.056
basics/dense reactant (comp + run) 0.0798 ± 0.0029 s 0.0794 ± 0.0034 s 1 ± 0.056
time_to_load 0.875 ± 0.0092 s 0.875 ± 0.0077 s 1 ± 0.014
Memory benchmarks
main 37a08e1... main / 37a08e1...
basics/MHA 0.087 k allocs: 6.05 kB 0.087 k allocs: 6.05 kB 1
basics/MHA (first run) 0.087 k allocs: 6.05 kB 0.087 k allocs: 6.05 kB 1
basics/MHA reactant 19 allocs: 0.578 kB 19 allocs: 0.578 kB 1
basics/MHA reactant (comp + run) 18 k allocs: 1.37 MB 18 k allocs: 1.37 MB 1
basics/conv 0.038 k allocs: 5.12 kB 0.038 k allocs: 5.12 kB 1
basics/conv (first run) 0.038 k allocs: 5.12 kB 0.038 k allocs: 5.12 kB 1
basics/conv reactant 15 allocs: 0.438 kB 15 allocs: 0.438 kB 1
basics/conv reactant (comp + run) 6.15 k allocs: 0.813 MB 6.14 k allocs: 0.813 MB 1
basics/dense 2 allocs: 0.109 kB 2 allocs: 0.109 kB 1
basics/dense (first run) 2 allocs: 0.109 kB 2 allocs: 0.109 kB 1
basics/dense reactant 15 allocs: 0.422 kB 15 allocs: 0.422 kB 1
basics/dense reactant (comp + run) 5.9 k allocs: 0.796 MB 5.9 k allocs: 0.796 MB 1
time_to_load 0.159 k allocs: 11.2 kB 0.159 k allocs: 11.2 kB 1

@avik-pal avik-pal marked this pull request as ready for review December 6, 2025 17:46
@avik-pal avik-pal merged commit 7178d45 into main Dec 6, 2025
44 of 78 checks passed
@avik-pal avik-pal deleted the copilot/mark-luxcore-imports-public branch December 6, 2025 18:07
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.

Mark LuxCore imports in Lux as public

2 participants