Help with package documentation

I’m working on developing my first Julia package called FeatureEng – for feature engineering – and I’m having trouble working with Documenter.jl.

https://github.com/a-poor/FeatureEng.jl

I have a github workflow that builds
the documentation with the following commands:

julia --project=docs -e '
            using Pkg
            Pkg.develop(PackageSpec(path=pwd()))
            Pkg.instantiate()'
julia --project=docs docs/make.jl

and the following in my docs/src/index.md file:

```@autodoc
Modules = [FeatureEng]
```

but nothing is showing up and I’m getting the following warning message, saying that my docstrings aren’t being included in my docs:

[ Info: CheckDocument: running document checks.
┌ Warning: 13 docstrings not included in the manual:
│ 
│     FeatureEng.transformLog :: Union{Tuple{T}, Tuple{T,Real}} where T<:(AbstractArray{var"#s19",N} where N where var"#s19"<:Number)
│     FeatureEng.transformRoot :: Union{Tuple{T}, Tuple{T,Real}} where T<:(AbstractArray{var"#s19",N} where N where var"#s19"<:Number)
│     FeatureEng.encode_dummy :: Union{Tuple{T}, Tuple{T,T,String}} where T<:AbstractArray
│     FeatureEng.encode_hash :: Union{Tuple{T}, Tuple{T,Int32}, Tuple{T,Int32,String}} where T<:AbstractArray
│     FeatureEng.transformBoxCox :: Union{Tuple{T}, Tuple{T,Real}} where T<:(AbstractArray{var"#s19",N} where N where var"#s19"<:Number)
│     FeatureEng.strp_datetimes :: Union{Tuple{T}, Tuple{T,Union{String, Dates.DateFormat}}} where T<:(AbstractArray{var"#s19",N} where N where var"#s19"<:AbstractString)
│     FeatureEng.extract_time_features :: Tuple{T} where T<:(AbstractArray{var"#s20",N} where N where var"#s20"<:Union{Dates.DateTime, Dates.Time})
│     FeatureEng.get_month :: Tuple{T} where T<:(AbstractArray{var"#s20",N} where N where var"#s20"<:Union{Dates.Date, Dates.DateTime})
│     FeatureEng.encode_onehot :: Union{Tuple{T}, Tuple{T,T,String}} where T<:AbstractArray
│     FeatureEng.extract_datetime_features :: Tuple{T} where T<:(AbstractArray{var"#s20",N} where N where var"#s20"<:Dates.DateTime)
│     FeatureEng.extract_date_features :: Tuple{T} where T<:(AbstractArray{var"#s20",N} where N where var"#s20"<:Union{Dates.Date, Dates.DateTime})
│     FeatureEng.polynomial :: Union{Tuple{DataFrames.DataFrame}, Tuple{T}, Tuple{DataFrames.DataFrame,T}} where T<:Integer
│     FeatureEng.get_weekday :: Tuple{T} where T<:(AbstractArray{var"#s20",N} where N where var"#s20"<:Union{Dates.Date, Dates.DateTime})
│ 
│ 
│ These are docstrings in the checked modules (configured with the modules keyword)
│ that are not included in @docs or @autodocs blocks.
└ @ Documenter.DocChecks ~/.julia/packages/Documenter/FuXcO/src/DocChecks.jl:69

Additionally, Documenter.jl isn’t creating versions other than dev in my gh-pages branch.

I’ve tried looking through Documenter.jl’s docs, the julialang Documentation page, and comparing my repo with Example.jl for reference.

Here’s the link to my documentation:

https://a-poor.github.io/FeatureEng.jl/dev/api-reference/

What am I doing wrong? Any suggestions would be greatly appretiated.

Thanks in advance! :grinning:

1 Like

@autodoc@autodocs

The CI workflow is not triggered by tagbot unless you pass it an SSH key, cf. GitHub - JuliaRegistries/TagBot: Creates tags, releases, and changelogs for your Julia packages when they're registered and the yellow box here: Hosting Documentation · Documenter.jl

3 Likes

Thank you, @fredrikekre! I can’t believe I missed that typo. One follow-up question:

I only have one release on github, v1.0.1 and TagBot says

Tag v1.0.1 already exists

but I’ve changed the package version in the Project.toml, via git tags, and as an input to the Register Action on GitHub.

Is there something else I’m missing?

Thanks for all your help!

TagBot isn’t updating the version because the latest registered version is v1.0.1

I’m not sure about the register.yml, but I find the best way to register a package is with Registrator.jl. Once installed you can just comment on the commit you want to register, which will create the pull request to the registry. Once this is merged, TagBot will tag the version the next time it runs.

EDIT: Maybe Registrator is not installed?
I see you tried to register this version but it didn’t reply in the comments: https://github.com/a-poor/FeatureEng.jl/commit/a35f1552cf22494ff080673870f267d9a06fd228

EDIT 2: I see the register.yml is for the register action, cool I didn’t know this was a thing!

1 Like

After commenting on the commit, how can I tell if the pull request to the registry has started?

https://github.com/a-poor/FeatureEng.jl/commit/a35f1552cf22494ff080673870f267d9a06fd228#commitcomment-46670712

Thanks for your help!

JuliaRegistrator should reply to your comment, like on this one:

https://github.com/JuliaTesting/TestReports.jl/commit/cd0feec0bf1bd523caeb0949b1590c11f6ea78d1

I think if it doesn’t it means it’s not installed, have you clicked install here? https://github.com/JuliaRegistries/Registrator.jl

1 Like

I did but I initially triggered the first run with JuliaHub’s Registrator.

Do you think that could have caused the issue?

I’m not sure, I think JuliaHub Registrator is the same application.

If you go to the Settings of your repository do you see JuliaTeam Registrator like in this picture below?

1 Like

No, it isn’t there! I thought it was installed when it wasn’t. Thank you for your help!

You’re welcome!

1 Like