Skip to content

Feedback from Users

Andres Almiray edited this page Jun 23, 2021 · 24 revisions
I have to say, picocli is a great library that emphasizes developer friendliness and productivity. It is a breeze to use and I’m grateful to use it in my new project. I’d like to highlight a few of the excellent features in picocli: great annotations, strong typing, arity controls, cognitive user friendliness and the documentation. picocli is really awesome, and it is so productive, that I went from Google searching the latest on Java CLI tools, to running my picocli powered main class in Intellij within 5 minutes. Job well done, and thanks for the awesome library.
— David Williams

Very impressed with picocli. Pretty much anything you’d want to do with a CLI. Just tried converting types and sub-subcommands. The docu is top notch, very easy to find things there: #picocli #java thx @maxandersen for tip
— Galder Zamarreño (@galderz)

picocli might be the most comprehensive getopt-alike ever developed, no joke
— Sean Champ (@spchamp)

Building command line applications. How about making it user-friendly? Check picocli - powerfully packed with numerous features, extensible - #Java #CLI #picocli
— Yogesh Jadhav (@yogeshcjadhav)

I just started using @picocli. l’ll never parse commandline args again in my own code. Using picocli is so much better.
— Igmar Palsenberg (@Palsenberg)

@picocli You’re pretty great! Documentation is awesome too!
— Y. Alonso (@yalogar)

Are you looking for an awesome Java command line parser? Check out picocli by @RemkoPopma, the best parser I have used in any language to date!!

#java #cli #commandline #picocli

— Philipp Hanslovsky (@hanslovsky)

Hey @picocli, I don’t get to use you very often. But each time I do, it’s a distinct pleasure. Doing only one thing and doing it well is so much easier said than done. You succeeded. Love, W.
— Wolfgang Werner (@0xcafebabe)

Seconded. The Developer Experience is absolutely world-class. It should be among the case studies for anyone wishing to design Java APIs :-)
— Jonas Andersen (@PrimusAlgo)

There are some projects that really, really impress me. @picocli is one of those. So well thought of. Wow.
— Michael Simons (@rotnroll666)

Agreed ! @picocli is awesome 👏
— François Farquet (@FFarquet)

@picocli is must have. All my scripts became professional programs instantly.
— Jayan (@jayanmn)

Congrats. I remember a couple of years ago when I first used it, there were maybe a couple dozen of them. Cudos and thanks for this great framework.
— George Mich (@gmich_)

Stumbled across @picocli, quite a breath of fresh air for developing CLI applications. #java #cli #development #commandline
— Hein Smith (@hein_smith)

Writing commandline apps with @java 11, @picocli and @graalvm and having the time of my life!
— Oliver Weiler (@helpermethod)

Your command-line applications also deserve a good UX. I just published a gentle introduction to #Java command-line applications with #picocli.
— Jonas Andersen (@PrimusAlgo)

my impressions so far: @picocli is a great choice for cl parsing to start up a tool. #jline is great for interactive input while running. Together they are the best choice I have found so far cli tools on the #jvm. 😀 😎 but now I still need to create my PoC
— Ralf D. Müller™ (@RalfDMueller)

“Every main method deserves picocli!” Looks like I found my new favorite lib for building Java CLIs:
— Viacheslav Kovalevskyi (@b0noi)

Picocli is awesome and so much easier to use than Go’s Cobra. If you’re interested in Rust, has the same declarative approach.
— Sylvain Wallez (@bluxte)

Yeah that’s the use case I was trying to present actually. Picocli is perfect If you have a java/kotlin team and an existing code base. Just add some annotations on existing code and you’re in business.
— Julien Lengrand-Lambert (@jlengrand)

I’m late to the party, but I wholeheartly recommend PicoCLI as well. Our official Neo4j tooling (the admin tool ) uses it and I build the neo4j-migrations cli with it Remko and the community did an outstanding job here.
— Michael Simons (@rotnroll666)

We are rewriting the @micronautfw CLI with Picocli and…​ Micronaut, of course 😄 However that’s still in very early stages of development and I would not call it a good example. @RemkoPopma surely has better ones
— Álvaro Sánchez-Mariscal (@alvaro_sanchez)

@picocli was a game changer for me, takes all the CLI pain away: parameter parsing, help, shell autocompletion. And yeah, compiles to an executable.
— Y. Alonso (@yalogar)

I had never used Picocli before and I have to admit that I’m really impressed! Kudos to @RemkoPopma!
— Iván López (@ilopmar)

The documentation is really good and everything is explained with a lot of examples. Every time I needed to do a new thing, it was explained in the docs. Add parameters, define some optional and some mandatory, "mask" inputs (for a password), deal with the log/verbose…​
— Iván López (@ilopmar)

3/ Parsing command line arguments is on its face a simple task but if you want to do it well you do benefit greatly from a library to do it rather than manually munging the String[] you get handed.

There are a bunch of them but my clear winner is @picocli. It just does it all…​

— Max Rydahl Andersen (@maxandersen)

4/ By all I mean that it is annotation based making it declarative and kinda handholds you into a command based class/method structure that is very close to what I would most likely do anyway. It is well documented supports native compilation and has @QuarkusIO extension…​
— Max Rydahl Andersen (@maxandersen)

@picocli + @QuarkusIO + GraalVM = CLI heaven ;)

Also in January I will give a talk on how to build kubectl plugins using those 3 technologies

— Sébastien Blanc (@sebi2706)

Sure I’ll try to give some feedback whenever I can. I honestly think is a great project.
— Mario García (@marioggar)

@picocli, I love you! Easy to implement a complex command line tool!!! 🤩 🧙🏼🧙🏼
— Victor Osório (@vepo)

Picocli is PFM. (Pure F***ing Magic)
— Jakub Korab (@jakekorab)

🤩 @picocli awesome tool ! And the level of the documentation 🤯 So good !! Many ideas to use it 🤓
— Mat V. (@yodamad03)

Shout out to @picocli, the best Java library for building CLI tools. We simply could not have made or CLI without it.
— jreleaser (@jreleaser)

(fireworks image)

Picocli. "Just worked" in everything I tried with it.
— Michael Simons (@rotnroll666)

(In reply to "Which CLI libraries for #java does my bubble prefer? picocli, Commons CLI, others? Would be interested in the "why" as well.")

I would go for picocli because

  • simple but yet powerful API

  • supports providers (e.g. fetching required parameters from a config file)

  • works with native compile

  • (and TBH haven’t looked at commons cli for years)

— Gerrit Meier (@meistermeier)

(In reply to "Which CLI libraries for #java does my bubble prefer? picocli, Commons CLI, others? Would be interested in the "why" as well.")

@picocli, no doubt. I always preferred to write CLI in Python. That changed after I found out about picocli. Simple, intuitive, flexible, tons of features, and the best part: very approachable and responsive author
— Philipp Hanslovsky ​(@hanslovsky)

(In reply to "Which CLI libraries for #java does my bubble prefer? picocli, Commons CLI, others? Would be interested in the "why" as well.")

Writing a CLI application again in #kotlin, and after trying a few kotlin libraries, I can only go back to @picocli. I don’t like having to screw around with nulls but just look at the sheer extent of documentation of the project!
— Julien Lengrand-Lambert (@jlengrand)

@picocli is a cool library to create command line tools in java. Here is my experience on creating my first command line tool..
— The Full Stack Developer (@FullStackDevel6)

@QuarkusIO Thank you so much for Picocli integration in 1.5.0!!!
— Anthony Ikeda (@anthonyikeda)

I’ve really enjoyed PicoCLI for Java as it aligns to Docker and other complex formats.
— Ryan (@RRMcGuinness)

Nice! Had a positive experience building @cimate_io’s native binary with #picocli as well:
— Sergei Egorov (@bsideup)

Awesome! I did use @picocli some time ago the doc is phenomenal. Nowadays, I usually code these kind of tools using #Clojure and #babashka. You got me interested, so I did the same one with these, 40 lines, execution is instant. No way I use bash again 🤣
— Alexandre Grison (@algrison)

When it comes to building a command line tool, #Java is generally not the first language that comes to mind! I spent the day playing with @picocli building a #covid19 tracker CLI, compiled to native binary using @graalvm! It was fun
— Mohammed Aboullaite (@laytoun)

The CLI parameter parsing is done with picocli: This makes really easy to create scripts that are easier to use and understand also for other humans or #AndroidDev out there 😅 You get a --help for free like here (image)
— Nicola Corti (@cortinico)

Picocli cleared a lot of issues for me
— Yuri Schimke (@yschimke)

and uses @picocli, the best command line parser for the JVM, to read user options


— Philipp Hanslovsky (@hanslovsky)

— おれきゅー@駆け出しJavaエンジニア(@orekyuu)

書いた Javaのコマンドラインアプリケーション向けのフレームワーク、picocliで遊ぶ - CLOVER 🍀
— かずひら (@kazuhira_r)

Spring Batch、大袈裟感あるからなー。コマンドラインツールでSpring使いたいだけならpicocliじゃダメなの?って思うようになりました。 |qω・`)チラッ
— いまいまさのぶ (@masanobuimai)

— Nakamura Masato (@Masahito)

picocli便利でした! / KuromojiのCLIコマンドとpicocliとGraalVM- @johtaniの日記 3rd | @johtani’s blog 3rd edition -
— Jun Ohtani (@johtani)

— Jun Ohtani (@johtani)

picocliならspring-boot-starterもあるので spring bootとのintegrationも簡単ですね
— wreulicke (@wreulicke)

I’ve done exactly that with @picocli it was awesome.
— Eduardo Gonzalez (@wm_eddie)

@picocli might be interesting
— Oleg Šelajev (@shelajev)

(Replying to @picocli * What is it about picocli that makes you happy with it? * What would you do if picocli did not exist?)

Documentation and real world use cases (I.e I found how to inject main conf instance into subcommands and also how to replace key=Val separator with : etc)

Probably would have run my own primitive key=val thing. Would have been enough for the start, but now I have already…

…than planned in a lightweight setup that doesn’t get into my way.

— Michael Simons (@rotnroll666)

It’s quite nice isn’t it. I’ve turned to it when we needed a better CLI for Kettle. We’ll completely switch to it for @projhop
— Matt Casters (@mattcasters)

あ、picocli は、 --help と --version を自分で作りこまなくて良いのが便利でした。
— 大雪 命 (@mikoto2000)

Spring Bootを外して,picocliだけでネイティブビルドすると問題無く,どこに持っていっても動くexeができました。
— いまいまさのぶ (@masanobuimai)

picocliはJVM言語でときめくCLIアプリを作るためのライブラリ。コマンドオプションやヘルプをいい感じに実装できる。ドキュメントを流し読みするとGraalVMのnative-imageだけでなくjlinkやjpackageでの配布もできるっぽい。 #jjug_ccc #ccc_i1
— Shunsuke Tadokoro (@todokr)

PicoCli is awesome. We use it for CodeCharta.
— Richard Groß (@ArghRich)

J’utilise picocli avec groovy dans Shinobi et je confirme la puissance. On est bon pour réécrire cbsupport en @java avec @graalvm et @QuarkusIO?
— Arnaud Héritier (@aheritier)

We already included it in adr-j ( Gradle Windows build correctly depends on — Thank you for making the GraalVM build so easy!
— Oliver Kopp (@koppor)

TIL: @picocli CommandLine.execute uses the return code of its command as exit code if the command implements Callable<Integer>. This is also applied to all subcommands. How cool is that!!!

#Java #cli #commandline #interface

— Philipp Hanslovsky (@hanslovsky)

Bash completion file available as paintera_completion on the release page, auto-generated with the amazing @picocli CLI
— Philipp Hanslovsky (@hanslovsky)

— ふりぎ🗝 (@huruikagi)

Blog を書きました。Picocli は usage を自動できれいに表示してくれるし、自動補完コマンドが作れるし、とても面白いです。
— かんがるー (@ksbyzero)

(je viens de mater picocli et Akka et…​. bah il se pourrait que ça soit super-utile pour mon projet ^^ #BrunoLesBonsTuyaux )
— Original Codester (@furyGnu)

Definitely support the picocli recommendation, a game changer for Java cli in my opinion
— Philipp Hanslovsky (@hanslovsky)

args4jとかApacheCommons CLIよりもっとモダンなコマンドラインオプションパーサーないのかって思って探したらpicocliってやつが良かった
— くろみー (@clomie)

— Snow Days (@snow_days_world)

picocli!Java CLI parser。 機会あってたまたま探していたら、コレコレ!!POSIX/GNU拡張にも対応し、読めば読むほど気配りが素晴らしい! 3年前に出会えなかったのが残念。。残ってるコードは全部書き直す。ゾッコン! jcommander/args4j、今までありがとう!commons cli、君は相変わらずだね。。
— ISHIZUKA Ryuhei (@kacchi123)

CLIライブラリの picocli 知らなかったけど便利そう
— Junichiro Kazama (@jkazama77)

2/ I struggled for a long to make a commandline my #ami software . Now I’ve discovered a wonderful #opensource library that does everything I want and more. @picocli! and the movie has a feel-good ending! Open is about sharing and collaboration.
— Peter Murray-Rust (@petermurrayrust)

3/ Three days ago I discovered a wonderful tool @picocli that does everything I want (and more). It’s #opensource Apache2 licence and it’s clearly got a vibrant community. New issues every few days and new point releases. WOW! …​
— Peter Murray-Rust (@petermurrayrust)

@picocli is awesome, especially when paired with @graalvm native image generation!
— Arash Shahkar (@amizrash)

Checkstyle migrated from Apache CLI to @picocli (will be released in 8.15), finally documentation of CLI arguments become well organized in declarative way in code - , and now checkstyle’s CLI is following CLI’s best practices.
— Checkstyle (@checkstyle_java)

a shout out to the @picocli project and @RemkoPopma - we’ve been using #picocli for the stand-alone JAR / executable for a while and are very happy with it
— Karate (@KarateDSL)

@picocli Looks like the modern java CLI parser you’ve been looking for. I certainly have and like it. Pretty much so.
— Wolfgang Werner (@0xcafebabe)

Picocli is actually a nice piece of work! #java
— Christian Grobmeier (@grobmeier)

Picocli rulez
— George Mich (@gmich_)

#Picocli and #Groovy: two of my favorite Java technologies together!
— Andrea Cisternino (@acister64)

picocli is a great tool. Saving me a ton of time. Great features.

— Maiden Lane (@rjs2006)

Thanks for the shoutout! I am currently using picocli for a cool company project and I’m really liking it.
— Stephen M. Coakley (@sagebind)

I’ve written the first article in a long time: "Building a decent Java CLI" — tl;dr: Use Micronaut w/ Picocli to get GraalVM Native Image goodness; follow best practices for how a CLI should behave.
— Andreas Textor (@atextor)

A new video published: "Adding @oauth_2 authentication to a command-line app implemented in @Java using @micronautfw, @picocli, and compiled to the native binary file with @graalvm"

— Szymon Stepniak (@wololock)

Building a GitHub Dependents Scraper with Quarkus and Picocli - Marc Nuri Blog post, showing how to create a simple web scraper using Picocli and Quarkus to build a native binary that will scrape dependents for any GitHub project:

— Marc Nuri (@MarcNuri)

Finally I can build native CLI and create it in Java. @simplelocalize @micronautfw @picocli @graalvm Thanks!
— Jakub Pomykała (@jakub_pomykala)

this is the right answer. If you need a more complicated app, like DI and everything, take a look at @micronautfw which has support for both @picocli and @graalvm native image.
— Oleg Šelajev (@shelajev)

I use @picocli which really amazing, and about json have you tried domino-jackson from @dominokit?
— Dominokit (@dominokit)