FAQ

Frequently asked questions about Cowser.

Table of Contents

How many animals are built in?

35, across 12 categories: cows (14), cats (6), pets (2), birds (2), wild animals (3), farm, sea, robot, hedgehog, alien, spooky, and mythical creatures. Run cowser --list or cowser --search <text> to see them.

How do I make output reproducible?

Pass --seed INT. The same seed and animal choice produce the same output every time. You can also set seed = 42 in the config file.

Why is output colorless in a pipe?

Color is only emitted when stdout is a terminal (ansi.supports_color() checks isatty). When piping to a file or another program, color is disabled automatically so the output stays clean. Use --color explicitly to force a color even in a pipe, or --no-color to disable it everywhere.

What is the config file for?

Defaults for color, cow, eyes, mode, wrap, cow_dir, and seed. Command-line flags always override it. See configuration.md.

Can I use my own art?

Yes — two ways. Add a Cow to cowser/cows.py (see development.md), or drop art files in a directory and pass --cow-dir (no code changes). Classic cowsay .cow cowfiles and plain .txt/.art files are both supported. See usage.md.

Is Cowser safe to use as a library?

Yes. The stable surface in cowser.api is pure (no I/O), fully type-hinted, and covered by a backwards-compatibility guarantee — names in __all__ will not break between minor versions without a deprecation notice.

Why "neostore" in the config path?

The config directory is ~/.config/neostore/cowser/ — an artifact of the project's early naming. It is now a fixed, documented location; changing it would break existing users' configs.


← Back to README