hkgr alternatives and similar packages
Based on the "Utils" category.
Alternatively, view hkgr alternatives based on common mentions on social networks and blogs.
unused9.9 1.0 hkgr VS unusedA command line tool to identify unused code.
sbv9.6 6.1 hkgr VS sbvSMT Based Verification in Haskell. Express properties about Haskell programs and automatically prove them using SMT solvers.
herms9.6 0.0 hkgr VS herms:stew::fork_and_knife: A command-line manager for delicious kitchen recipes
profunctors9.3 0.0 hkgr VS profunctorsHaskell 98 Profunctors
serokell-util9.3 0.0 hkgr VS serokell-utilGeneral-purpose functions by Serokell
djinn9.2 0.0 hkgr VS djinnGenerate Haskell code from a type
hocker9.2 0.0 hkgr VS hockerUtilities for interacting with the docker registry and generating nix build instructions
constraints9.2 0.0 hkgr VS constraintsTools for programming with ConstraintKinds in GHC
herbalizer9.1 0.0 hkgr VS herbalizerConvert HAML to ERB
thentos-cookie-session8.8 0.0 hkgr VS thentos-cookie-sessionAll-in-one session handling for servant-based frontends
thank-you-stars8.8 0.0 hkgr VS thank-you-starsGive your dependencies stars on GitHub! 🌟
shellmet8.5 0.0 hkgr VS shellmet🐚 Out of the shell solution for scripting in Haskell
una8.4 0.0 hkgr VS unaA universal interface to multiple unarchiving tools
xhtml8.2 0.0 hkgr VS xhtmlXHTML combinator library
scat8.2 0.0 hkgr VS scatPassword scatterer. Eliminates password reuse by generating deterministically unique passwords for each service (website, email address, etc.), all from a single password.
jobqueue8.2 0.0 hkgr VS jobqueueA job queue library
cli-extras7.9 0.0 hkgr VS cli-extrasMiscellaneous utilities for building and working with command line interfaces
errata7.8 5.5 hkgr VS errataSource code error pretty printing
headroom7.7 0.0 hkgr VS headroom©️ Manager for license headers in source code files.
http-enumerator7.7 0.0 hkgr VS http-enumeratorHTTP client package with enumerator interface and HTTPS support.
hyperfunctions7.6 0.0 hkgr VS hyperfunctionsplaying with hyperfunctions
mios7.6 0.0 hkgr VS miosA SAT solver written in Haskell.
pipes-text7.5 0.0 hkgr VS pipes-textText pipes
hscope7.4 0.0 hkgr VS hscopecscope like browser for Haskell code
cli7.4 0.0 hkgr VS cliCommand Line Interface Utility (Printing, Formatting, Options parsing) for Haskell
autoexporter7.4 0.0 hkgr VS autoexporter:outbox_tray: Automatically re-export Haskell modules.
pipes-binary7.4 0.0 hkgr VS pipes-binaryEncode and decode binary streams using the pipes and binary libraries.
dualizer7.3 0.0 hkgr VS dualizerDelete half (minus ε) of your Haskell code!
harg7.1 0.0 hkgr VS hargHaskell program configuration using higher kinded data
pipes-http7.1 0.0 hkgr VS pipes-httpHTTP client with pipes interface
parquet-hs7.0 0.0 hkgr VS parquet-hsRead parquet format with Haskell
constraints-emerge7.0 0.0 hkgr VS constraints-emerge📤 defer instance resolution until runtime
vigilance7.0 0.0 hkgr VS vigilanceAn extensible dead-man's switch system
OSM7.0 0.0 hkgr VS OSMData structures and HXT parser for OpenStreetMap files
sync-mht6.9 0.0 hkgr VS sync-mhtSynchronize directory hierarchies using Hash-Tree's
dirstream6.8 0.0 hkgr VS dirstreamEasily stream directory contents in constant memory
compressed6.3 0.0 hkgr VS compressedCompressed generators for monoidal reducers
aeson-deriving6.3 0.0 hkgr VS aeson-derivingData types for compositional, type-directed serialization
pipes-zlib6.2 0.0 hkgr VS pipes-zlibPipes to deal with zlib compressed data.
ReadArgs6.2 0.0 hkgr VS ReadArgsEasy reading and parsing of command line arguments
eventsource-api6.2 0.0 hkgr VS eventsource-apiProvides an eventsourcing high level API.
groupoids6.0 0.0 hkgr VS groupoidsHaskell 98 Groupoids
servant-docs-simple6.0 0.0 hkgr VS servant-docs-simpleGenerate documentation for API endpoints via typerep
fernet6.0 0.0 hkgr VS fernetHaskell library to generate and verify "Fernet" HMAC-based authentication tokens.
Webrexp6.0 0.0 hkgr VS WebrexpDocument query utility, mixing CSS Selector syntax and regular expressions.
mmark-cli5.8 0.0 hkgr VS mmark-cliCommand line interface to the MMark markdown processor
constraints-deriving5.5 0.0 hkgr VS constraints-derivingProgrammatically create new instances using core-to-core plugins
stratum-tool5.5 0.0 hkgr VS stratum-toolCommand-line tool for communicating with Electrum server
pub5.2 0.0 hkgr VS pubA CLI tool for piping from stdin to a redis pub/sub channel.
sexpr-parser5.1 0.0 hkgr VS sexpr-parserS-expression parser in Haskell
Static code analysis for 29 languages.
Do you think we are missing an alternative of hkgr or a related project?
hkgr (pronounced "hackager") is a tool for making releases of
Haskell packages on Hackage.
It uses a cautious stepped approach to releases.
Here is an example of doing a release of hkgr itself.
After committing the latest changes for the release, create a tag and tarball:
$ hkgr tagdist v0.2.5 No errors or warnings could be found in the package. Running hlint ./Main.hs:107:28: Warning: Redundant do Found: do void $ cmdBool "hlint" ["."] Perhaps: void $ cmdBool "hlint" ["."] Resolving dependencies... Configuring hkgr-0.2.5... Building source dist for hkgr-0.2.5... Preprocessing executable 'hkgr' for hkgr-0.2.5.. Source tarball created: dist/hkgr-0.2.5.tar.gz
After fixing up, retag a new tarball:
$ hkgr tagdist -f Updated tag 'v0.2.5' (was 55b69db) No errors or warnings could be found in the package. Running hlint Resolving dependencies... Configuring hkgr-0.2.5... Building source dist for hkgr-0.2.5... Preprocessing executable 'hkgr' for hkgr-0.2.5.. Source tarball created: dist/hkgr-0.2.5.tar.gz
The tarball can now be uploaded to Hackage as a candidate release:
$ hkgr upload Uploaded to https://hackage.haskell.org/package/hkgr-0.2.5/candidate
One can continue to
tagdist -f and
everything looks good and CI passed etc,
then it is time to push the final tag and publish the release:
$ hkgr publish Everything up-to-date Total 0 (delta 0), reused 0 (delta 0) To github.com:juhp/hkgr.git * [new tag] v0.2.5 -> v0.2.5 Published at https://hackage.haskell.org/package/hkgr-0.2.5
hkgr tagdist makes a dist tarball from a git tag:
tagdist command first reads the current package version
.cabal file in the current directory), and uses that to
It then runs
cabal sdist from a temporary pristine checkout of the tag
to generate the dist tarball.
Note that hkgr is lenient: it allows making a release with uncommitted changes in the working tree, but it will show the uncommitted changes. However the version must be committed.
If the tag already exists (eg if you already ran
and you need to add commits to the release
you can use
--force to move the tag to the latest commit
and generate a new tarball off that,
tagdist refuses to run again to prevent accidently overwriting
the tag and dist tarball.
One should not be able to
tagdist on an already published
(ie released) version made with hkgr.
If sdist fails for some reason then hkgr tries to reset the tag.
hkgr upload uploads the tarball to Hackage as a candidate release.
hkgr tagdist -f, this can be repeated.
Haddock draft documentation can also be uploaded if desired with
hkgr publish releases the tarball to Hackage.
If it succeeds then hkgr creates a "published lockfile" in
and the git tag is pushed to origin.
(Then hkgr will refuse to do further commands on the released version.)
Optionally one can publish haddock docs with
hkgr new creates a new project.
If you don't pass a name it will try to check the current directory.
cabal init to setup various files but replaces the .cabal file
with a template stored in
~/.config/hkgr/template.cabal which the user
can freely customize.
stack.yaml file and git repo is also set up.
One can use
hub create etc to create the project on Github.
git, and also
hlint if available.
*Note that all licence references and agreements mentioned in the hkgr README section above are relevant to that project's source code only.