[ANN] PackageMaker - GUI for PkgTemplates

Edit: Package registered under the changed name PackageMaker.jl

StartYourPk.jl is intended to to help (especially beginner) developers with using projects and creating packages.

The package is not yet registered, but you are invited to test it - nothing bad should happen :grinning:.

If anybody comes with a better package name, it is not too late yet.


Now a general question (for the package documentation, not yet written): It is commonly recommended not to work in the ā€œmainā€ environment, but use separate projects (i.e. a folder with Project.toml. While I see the use of it, I prefer to start a (possibly throwaway) package right from the beginning instead of a project. This gives me the important advantage of having all functions, which I place into the projectā€™s module, Revise-ed. I do not see any disadvantages of such a procedure as compared to a bare project. Are there any?

24 Likes

Awesome idea!

What about PkgTemplatesGUI.jl?

20 Likes

Just tried it out. Awesome! Love the way it exits Julia so the next CLI command becomes code newPackage. :heart_eyes:

1 Like

Your post got a lot of likes, which probably refer to the suggested name. Still, I personally am not 100% happy with it.

First, as the package intended for interactive use, it would be nice to have the name which is easy and pleasant to type, which means short enough, easy to memorize, and easy to pronounce (as it is more difficult to memorize things which your canā€™t pronounce). PkgTemplatesGUI - just try to say it aloud :grin:

Second, though PkgTemplates is the backend, StartYourPk adds / going to add some functionality of itā€™s own (while supporting only a subset of PkgTemplatesā€™s features, on the other side). Furthermore, in the future a switch to BestieTemplate.jl could be an option.

Any more ideas?


Current state: The package appears fully usable on unixes (Mac and Ubuntu), and broken on Windows. Registration presumably delayed till the next year.

Edit: Windows now works, too

Minimal modification: StartYourPkg, to make the abbreviation more standard.
And to shorten it a bit: StartMyPkg.

9 Likes

I will probably go with StartMyPk. Yes, Pkg is more standard, but less pronounceable.

2 Likes

GenMyPk
OhMyPk :laughing:

Why not StartMyPackage then?

4 Likes

I just want to note that ā€˜easier to pronounceā€™ is highly subjective.
In particular, to me StartMyPkg is infinitely easier to pronounce since Iā€™m used to finding Pkg all over the place - for what itā€™s worth, I simply pronounce it package.

Whatever the name - thank you for further enriching the julia package ecosystem!

7 Likes

Well, let it be StartPackage (be it my, your, our, or their :slight_smile:)

I think thatā€™s slightly ambiguous because it could refer to a ā€œstarting packageā€ with some default functions for e.g. numerical computing or whatever

Being short, euphonic, easy to remember and to type, strongly :wink: unambiguous and informative - that is set of requirements which is not easy to satisfy all at once.

StartNewPackage?

Do a poll

1 Like

Perhaps a simple PkgStarter

2 Likes

PackageStarter my current favorit - thank you.

But please donā€™t suggest me anything with Pkg anymore - I personally find it unpronounceable and, well, ugly - whatever the vox populi.

1 Like

I donā€™t think you have to try and be cute with the name. Most names try and just be direct. Or just do what you prefer, itā€™s your package.

1 Like

Or PackageMaker / PackageLauncher

3 Likes

(Perhaps this deserves another thread, even though it is in the original post?)

I think that this question is no longer needed if a package is not presented as something different from a project, but as a special kind of project - characterized by the src folder with a jl file containing a module, matching the name of the package.

Under this view, the dilemma of ā€œproject or packageā€ is like comparing e.g. ā€œproject with or without [compat] sectionā€. The package structure gives the advantages that you mention, at the (minimal) cost of adding a structure that might be superfluous if you are not going to benefit from those advantages.

1 Like

The package will be renamed to PackageMaker (repo is already renamed), all features I planned to implement before the official release are done, now some minimal clean-up (today?), and go for registration :sweat:

9 Likes

PackageMaker.jl v0.1.1 is now registered, and should become available in a short time.

Compatibility limitations

Currently may be broken if run from Julia in terminal on Ubuntu. Worked however on same machine from Julia in VSCode. Edit: Traced to an upstream bug, implemented a workaround in v0.1.4

Was also broken on Win10 on Julia v1.10 both from terminal and VSCode, but worked fine under Julia v1.11. Edit: fixed

No issues on Mac :slightly_smiling_face:.

In the plans: try solve the issues listed above. Most of of the features are already implemented, with exception of saving different sets of default settings for re-use.

And - the boring part - the documentation, tests, refactoringā€¦

4 Likes