natemcintosh / duckup Goto Github PK
View Code? Open in Web Editor NEWInstall the latest duckdb CLI on your linux machine
License: MIT License
Install the latest duckdb CLI on your linux machine
License: MIT License
Add clap to add some CLI niceties. Print out help messages when run without any arguments (and when run with -h
), and have an update
command as the primary task.
In a perfect world, duckup
could one day be similar to rustup or juliaup in terms of the commands available. The first step on that road is just having some sort of CLI.
-h
, --help
, or no argument-V
or --version
duckup update
command that actually runs the updateupdate
command that performs the update.update
, help
, and version
Add proper logging.
It would be really nice to be able to see high quality logs for this.
readme
While the binary is currently installed in the right place, it is not executable. It should automatically be made executable.
To make this work on linux and mac, I would usually run chmod +x <name_of_file>
. I expect we can do the same here. However, I am less sure of how this works on windows; will have to make a list of things that may/will be different if the tool ever gets to that point.
Would be nice to install the binary to wherever one desires, settable via a CLI flag.
duckup
currently installs to ~/.local/bin/
, always. This kinda works for linux, maybe mac, and probably not windows. If duckdb
is ever going to work outside linux, binary location should be an option. It would also be nice to just set it to wherever one wants if ~/.local/bin/
is the best option.
~/.local/bin/
~/.duckup/
folder.Keep the repo in good shape via pre-commit
Pre-commit helps to keep repos in good shape by ensuring a set of rules. It is usually installed as a git hook, and automatically run before a commit happens. It can also be run as CI, helping to ensure PRs look good.
fmt
Make sure the README
is up to date.
Want to make sure it has a good description of what it does, its limitations, and how to use it.
A zip file can have any number of files and folders within it. Check that there actually is one called duckdb
when the zip file is unzipped.
duckdb
Instead of assuming that the tool is being run on Linux, check what the OS actually is, and provide an error if it is not Linux. (Working non-Linux versions could eventually happen).
Currently, duckup
simply assumes it is being run Linux, and downloads a Linux binary. It should instead fail on any platforms that are not Linux.
main()
Be able to publish the tool on crates; installable with cargo install duckup
.
Cargo is a really easy way to distribute binaries. Users with cargo
installed on their system can cargo install <some_binary>
, and as long as the author has done a good job, it should install for their system.
cargo install duckup
crates.io
There are currently no tests, and everything is very sketchy; way too easy to accidentally overwrite stuff, or mess up existing files and folders.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.