kt-dog

Crates.iokt-dog
lib.rskt-dog
version1.1.0
created_at2025-07-03 00:19:14.317147+00
updated_at2025-07-04 17:35:40.301062+00
descriptionA modern, fast, cross-platform, alternative to cat
homepagehttps://codeberg.org/ktanchev/kt-dog
repositoryhttps://codeberg.org/ktanchev/kt-dog
max_upload_size
id1735690
size35,365
Kamela (tanchevk)

documentation

README

= dog :license-apache: LICENSE-APACHE :license-bsd: LICENSE-BSD :license-zlib: LICENSE-ZLIB

A modern, cross-platform, fast, alternative to cat

== About

dog is a cli tool, used for concatenating (printing) a file to your terminal.

=== Features

  • Fast
  • Cross-platform
  • Provides useful file information
  • Colored output
  • Supports printing from stdin
  • Can act as a replacement for cat (dog -s provides the same output)

== Installing

=== Using Cargo

==== Prerequisites:

  • Rust is installed
  • The latest stable toolchain for your device is installed
  • The cargo command is in your PATH

To install dog using Cargo, simply run the following command:

[source,shell]

cargo install kt-dog

This will build the crate from source, and as such is safer than downloading prebuilt binaries, but may take longer. dog has very little dependencies, so building shouldn't take long, but this may depend on hardware.

== Speed comparison

On my computer, dog is, on average, 1.66 times faster than cat (on a 16KB file), even with the added overhead of the extra features dog provides. Results for dog -s are inconclusive, but it is anywhere between 1.64 and 1.89 times faster than cat.

All of these tests are performed on Windows 11, with dog compiled in release mode using the stable-x86_64-pc-windows-gnu toolchain (stable-x86_64-pc-windows-msvc is ~4ms slower)

== Building

Currently, compiling dog requires at least Rust 1.88.0. In general, MSRV for dog is expected to follow the latest stable release, though this may not always be accurate.

Compiling dog with an older version of Rust may or may not work, but is not tested or supported

== Licensing

dog is multi-licensed under the link:{license-apache}[Apache License, Version 2.0], the link:{license-zlib}[zlib License] and the link:{license-bsd}[BSD 3-Clause "New" or "Revised" License].

== Contributing

Unless explicitly stated otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the link:{license-apache}[Apache-2.0 license], will be multi-licensed as above, without any additional terms or conditions.

Commit count: 0

cargo fmt