Skip to main content

bman

A command line bookmark manager.

Installation

Note: you need Python 3.

> pip install bman

After that, should have a bman command available.

> bman

Usage: bman [OPTIONS] COMMAND [ARGS]...

  Your command line bookmark manager.

Options:
  -h, --help  Show this message and exit.

Commands:
  add  Adds a new entry
  ls   Lists stored entries
  rm   Removes an entry

Usage

Add a bookmark

The quickest way to add an url is:

> bman add https://google.com

But maybe you prefer to add a tiny description to the bookmark:

> bman add https://google.com "The google homepage"

Or, better, add some tags to help you organize all this mess:

> bman add https://google.com "The google homepage" search,homepage,faang

List bookmarks

You can query all your bookmarks with the ls command:

> bman ls

https://github.com
Date: 2023-07-01T20:49:29.273570
Description: The github homepage
Tags: ['code', 'homepage', 'faang']

https://google.com
Date: 2023-07-01T20:51:49.173430
Description: The google homepage
Tags: ['search', 'homepage', 'faang']

Of course, once you start adding bookmarks is not feasible to get a dump of all entries every time you use ls. You can use a filter:

> bman ls goog

https://google.com
Date: 2023-07-01T20:51:49.173430
Description: The google homepage
Tags: ['search', 'homepage', 'faang']

The filter works on all fields.

Search by tag:

> bman ls search

https://google.com
Date: 2023-07-01T20:51:49.173430
Description: The google homepage
Tags: ['search', 'homepage', 'faang']

By date:

> bman ls 2023-07

https://github.com
Date: 2023-07-01T20:49:29.273570
Description: The github homepage
Tags: ['code', 'homepage', 'faang']

https://google.com
Date: 2023-07-01T20:51:49.173430
Description: The google homepage
Tags: ['search', 'homepage', 'faang']

The ls command accepts some more interesting options worth exploring:

Usage: bman ls [OPTIONS] [FILTER]

  Lists stored entries

Options:
  --format [only-url|full|json]  Set the output format
  --use-regex                    Treat the search filter as a regex pattern
  --fields TEXT                  Comma separated list of fields to show (and
                                 to apply filter to)
  -h, --help                     Show this message and exit.

Removing bookmarks

I know, I know...you rarely delete bookmarks. Neither me. But when you need to, better to have a way to do it :-)

> bman rm http://google.com

And that's it.

Editing bookmarks

bman doesn't allow direct edition, but you can add a bookmark twice to update it's entry:

For example, returning to the previous example, if you already had http://google.com in your library...

> bman add http://google.com "The _don't be evil_ company"

Url already exists in the library. Please, use --force to update it with the new values.

As you see, you need to pass the --force flag:

> bman add http://google.com "The _don't be evil_ company" --force

Data location

By default bman stores all the data under the ~/.bman/ directory. This can be overrided setting the BMAN_ROOT_PATH environment variable.

Under that directory, you'll find:

  • config.json for configuration settings (there's barely anything configurable right now, to be fair)
  • library.json with all your bookmarks.

I chose JSON for all data representation to make it easier to work with it using standard tools, if I need to.

Release files for bman 0.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bman 0.9
File Size Uploaded
bman-0.9.tar.gz 16.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bman 0.9
File Interpreter ABI Platform
bman-0.9-py3-none-any.whl Python 3 none any Details

Total release size: 33.4 kB

Release files / bman-0.9.tar.gz

Download URL bman-0.9.tar.gz
Size 16.5 kB
Tags Source
SHA-256 checksum
How to use checksums
39abcc664e0ce964404019beb38312828a1a3953fe6e3edd86ed09416705f7b4
BLAKE2b-256 checksum
How to use checksums
7ef0961066ecaf9d36c59f7d483bd6090e7af9073706808f6c30461c945ad84d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.6

Release files / bman-0.9-py3-none-any.whl

Download URL bman-0.9-py3-none-any.whl
Size 16.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f33be76dda950498f0cd2410943c0c39068c22053c41f04af5a971a6f15ec64e
BLAKE2b-256 checksum
How to use checksums
f165b07c903236ec9d3999d8ae9625dad0a9be88fb835988619f5d5c37786cc9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.6

Release history Release notifications | RSS feed

This release

0.9 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page