linkding-cli


Namelinkding-cli JSON
Version 2023.8.0 PyPI version JSON
download
home_pagehttps://github.com/bachya/linkding-cli
SummaryA CLI to interact with a linkding instance
upload_time2023-08-08 16:55:41
maintainer
docs_urlNone
authorAaron Bach
requires_python>=3.9.0,<4.0.0
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 🔖 linkding-cli: A CLI to interact with a linkding instance

[![CI][ci-badge]][ci]
[![PyPI][pypi-badge]][pypi]
[![Version][version-badge]][version]
[![License][license-badge]][license]
[![Code Coverage][codecov-badge]][codecov]
[![Maintainability][maintainability-badge]][maintainability]

`linkding-cli` is a CLI to interact with a [linkding][linkding] instance.

- [Installation](#installation)
- [Python Versions](#python-versions)
- [Usage](#usage)
  - [Main Help](#main-help)
  - [Configuration](#configuration)
    - [Example: CLI Options](#example--cli-options)
    - [Example: Environment Variables](#example--environment-variables)
    - [Example: Configuration File](#example--configuration-file)
    - [Merging Configuration Options](#merging-configuration-options)
  - [Bookmarks](#bookmarks)
    - [The `bookmarks all` command](#the-bookmarks-all-command)
    - [The `bookmarks archive` command](#the-bookmarks-archive-command)
    - [The `bookmarks create` command](#the-bookmarks-create-command)
    - [The `bookmarks delete` command](#the-bookmarks-delete-command)
    - [The `bookmarks get` command](#the-bookmarks-get-command)
    - [The `bookmarks unarchive` command](#the-bookmarks-unarchive-command)
    - [The `bookmarks update` command](#the-bookmarks-update-command)
  - [Tags](#tags)
    - [The `tags all` command](#the-tags-all-command)
    - [The `tags create` command](#the-tags-create-command)
    - [The `tags get` command](#the-tags-get-command)
  - [Misc.](#misc)
    - [Parsing and Pretty Printing Data](#parsing-and-pretty-printing-data)
- [Contributing](#contributing)

# Installation

```bash
pip install linkding-cli
```

# Python Versions

`linkding-cli` is currently supported on:

- Python 3.9
- Python 3.10
- Python 3.11

# Usage

## Main Help

```
$ linkding --help
Usage: linkding [OPTIONS] COMMAND [ARGS]...

  Interact with a linkding instance.

Options:
  -c, --config PATH     A path to a config file.  [env var: LINKDING_CONFIG]
  -t, --token TOKEN     A linkding API token.  [env var: LINKDING_TOKEN]
  -u, --url URL         A URL to a linkding instance.  [env var: LINKDING_URL]
  -v, --verbose         Increase verbosity of standard output.
  --install-completion  Install completion for the current shell.
  --show-completion     Show completion for the current shell, to copy it or
                        customize the installation.
  --help                Show this message and exit.

Commands:
  bookmarks  Work with bookmarks.
  tags       Work with tags.
```

## Configuration

Configuration can be provided via a variety of sources:

- CLI Options
- Environment Variables
- Configuration File

### Example: CLI Options

```
$ linkding -u http://127.0.0.1:8000 -t abcde12345 ...
```

### Example: Environment Variables

```
$ LINKDING_URL=http://127.0.0.1:8000 LINKDING_TOKEN=abcde12345 linkding ...
```

### Example: Configuration File

The configuration file can be formatted as either JSON:

```json
{
  "token": "abcde12345",
  "url": "http://127.0.0.1:8000",
  "verbose": false
}
```

...or YAML

```yaml
---
token: "abcde12345"
url: "http://127.0.0.1:8000"
verbose: false
```

Then, the linkding file can be provided via either `-c` or `--config`.

```
$ linkding -c ~/.config/linkding.json ...
```

### Merging Configuration Options

When parsing configuration options, `linkding-cli` looks at the configuration sources in
the following order:

1. Configuration File
2. Environment Variables
3. CLI Options

This allows you to mix and match sources – for instance, you might have "defaults" in
the configuration file and override them via environment variables.

## Bookmarks

```
Usage: linkding bookmarks [OPTIONS] COMMAND [ARGS]...

  Work with bookmarks.

Options:
  --help  Show this message and exit.

Commands:
  all        Get all bookmarks.
  archive    Archive a bookmark by its linkding ID.
  create     Create a bookmark.
  delete     Delete a bookmark by its linkding ID.
  get        Get a bookmark by its linkding ID.
  unarchive  Unarchive a bookmark by its linkding ID.
  update     Update a bookmark by its linkding ID.
```

### The `bookmarks all` command

```
Usage: linkding bookmarks all [OPTIONS]

  Get all bookmarks.

Options:
  -a, --archived        Return archived bookmarks.
  -l, --limit INTEGER   The number of bookmarks to return.
  -o, --offset INTEGER  The index from which to return results.
  -q, --query TEXT      Return bookmarks containing a query string.
  --help                Show this message and exit.
```

#### Examples:

```sh
# Get all bookmarks, but limit the results to 10:
$ linkding bookmarks all --limit 10

# Get all archived bookmarks that contain "software":
$ linkding bookmarks all --archived --query software
```

### The `bookmarks archive` command

```
Usage: linkding bookmarks archive [OPTIONS] [BOOKMARK_ID]

  Archive a bookmark by its linkding ID.

Arguments:
  [BOOKMARK_ID]  The ID of a bookmark to archive.

Options:
  --help  Show this message and exit.
```

#### Examples:

```sh
# Archive bookmark 12:
$ linkding bookmarks archive 12
```

### The `bookmarks create` command

```
Usage: linkding bookmarks create [OPTIONS] URL

  Create a bookmark.

Arguments:
  URL  The URL to bookmark.  [required]

Options:
  -a, --archived                 Whether the newly-created bookmark should be
                                 immediately archived.
  -d, --description DESCRIPTION  The description to give the bookmark.
  -n, --notes NOTES              Any Markdown-formatted notes to add to the bookmark.
  --shared                       Whether the newly-created bookmark should be
                                 shareable with other linkding users
  --tags TAG1,TAG2,...           The tags to apply to the bookmark.
  -t, --title TITLE              The title to give the bookmark.
  --unread                       Whether the newly-created bookmark should be
                                 marked as unread.
  --help                         Show this message and exit.
```

#### Examples:

```sh
# Create a bookmark:
$ linkding bookmarks create https://example.com

# Create a bookmark and immeditely archive it:
$ linkding bookmarks create -a https://example.com

# Create a bookmark with title, description, and tags:
$ linkding bookmarks create https://example.com -t Example -d "A description" --tags tag1,tag2
```

### The `bookmarks delete` command

```
Usage: linkding bookmarks delete [OPTIONS] [BOOKMARK_ID]

  Delete a bookmark by its linkding ID.

Arguments:
  [BOOKMARK_ID]  The ID of a bookmark to delete.

Options:
  --help  Show this message and exit.
```

#### Examples:

```sh
# Delete the bookmark with an ID of 12:
$ linkding bookmarks delete 12
```

### The `bookmarks get` command

```
Usage: linkding bookmarks get [OPTIONS] [BOOKMARK_ID]

  Get a bookmark by its linkding ID.

Arguments:
  [BOOKMARK_ID]  The ID of a bookmark to retrieve.

Options:
  --help  Show this message and exit.
```

#### Examples:

```sh
# Get bookmark 12:
$ linkding bookmarks get 12
```

### The `bookmarks unarchive` command

```
Usage: linkding bookmarks unarchive [OPTIONS] [BOOKMARK_ID]

  Unarchive a bookmark by its linkding ID.

Arguments:
  [BOOKMARK_ID]  The ID of a bookmark to unarchive.

Options:
  --help  Show this message and exit.
```

#### Examples:

```sh
# Unarchive bookmark 12:
$ linkding bookmarks unarchive 12
```

### The `bookmarks update` command

```
Usage: linkding bookmarks update [OPTIONS] BOOKMARK_ID

  Update a bookmark by its linkdingn ID.

Arguments:
  BOOKMARK_ID  The ID of a bookmark to update.  [required]

Options:
  -u, --url URL                  The URL to assign to the bookmark.
  -d, --description DESCRIPTION  The description to give the bookmark.
  -n, --notes NOTES              Any Markdown-formatted notes to add to the bookmark.
  --shared                       Whether the -created bookmark should be
                                 shareable with other linkding users
  --tags TAG1,TAG2,...           The tags to apply to the bookmark.
  -t, --title TITLE              The title to give the bookmark.
  --unread                       Whether the bookmark should be marked as
                                 unread.
  --help                         Show this message and exit.
```

#### Examples:

```sh
# Update a bookmark with a new url:
$ linkding bookmarks update 12 -u https://example.com

# Update a bookmark with title, description, and tags:
$ linkding bookmarks update 12 -t Example -d "A description" --tags tag1,tag2
```

## Tags

```
Usage: linkding tags [OPTIONS] COMMAND [ARGS]...

  Work with tags.

Options:
  --help  Show this message and exit.

Commands:
  all     Get all tags.
  create  Create a tag.
  get     Get a tag by its linkding ID.
```

### The `tags all` command

```
Usage: linkding tags all [OPTIONS]

  Get all tags.

Options:
  -l, --limit INTEGER   The number of tags to return.
  -o, --offset INTEGER  The index from which to return results.
  --help                Show this message and exit.
```

#### Examples:

```sh
# Get all tags, but limit the results to 10:
$ linkding tags all --limit 10
```

### The `tags create` command

```
Usage: linkding tags create [OPTIONS] TAG_NAME

  Create a tag.

Arguments:
  TAG_NAME  The tag to create.  [required]

Options:
  --help  Show this message and exit.
```

#### Examples:

```sh
# Create a tag:
$ linkding tags create sample-tag
```

### The `tags get` command

```
Usage: linkding tags get [OPTIONS] TAG_ID

  Get a tag by its linkding ID.

Arguments:
  TAG_ID  The ID of a tag to retrieve.  [required]

Options:
  --help  Show this message and exit.
```

#### Examples:

```sh
# Get tag 12:
$ linkding tags get 12
```

## Misc.

### Parsing and Pretty Printing Data

`linkding-cli` doesn't have built-in utilities for modifying JSON output in any way.
Instead, it's recommended to use a tool like [`jq`][jq]. This allows for multiple new
outcomes, like pretty-printing:

```
$ linkding bookmarks all | jq
{
  "count": 123,
  "next": "http://127.0.0.1:8000/api/bookmarks/?limit=100&offset=100",
  "previous": null,
  "results": [
    {
      "id": 1,
      "url": "https://example.com",
      "title": "Example title",
      "description": "Example description",
      "website_title": "Website title",
      "website_description": "Website description",
      "tag_names": [
        "tag1",
        "tag2"
      ],
      "date_added": "2020-09-26T09:46:23.006313Z",
      "date_modified": "2020-09-26T16:01:14.275335Z"
    }
  ]
}
```

...and slicing/parsing data:

```
$ linkding bookmarks all | jq '.results[0].title'
"Example title"
```

# Contributing

Thanks to all of [our contributors][contributors] so far!

1. [Check for open features/bugs][issues] or [initiate a discussion on one][new-issue].
2. [Fork the repository][fork].
3. (_optional, but highly recommended_) Create a virtual environment: `python3 -m venv .venv`
4. (_optional, but highly recommended_) Enter the virtual environment: `source ./.venv/bin/activate`
5. Install the dev environment: `script/setup`
6. Code your new feature or bug fix on a new branch.
7. Write tests that cover your new functionality.
8. Run tests and ensure 100% code coverage: `poetry run pytest --cov linkding_cli tests`
9. Update `README.md` with any new documentation.
10. Submit a pull request!

[ci-badge]: https://github.com/bachya/linkding-cli/workflows/CI/badge.svg
[ci]: https://github.com/bachya/linkding-cli/actions
[codecov-badge]: https://codecov.io/gh/bachya/linkding-cli/branch/dev/graph/badge.svg
[codecov]: https://codecov.io/gh/bachya/linkding-cli
[contributors]: https://github.com/bachya/linkding-cli/graphs/contributors
[fork]: https://github.com/bachya/linkding-cli/fork
[issues]: https://github.com/bachya/linkding-cli/issues
[jq]: https://stedolan.github.io/jq/
[license-badge]: https://img.shields.io/pypi/l/linkding-cli.svg
[license]: https://github.com/bachya/linkding-cli/blob/main/LICENSE
[linkding]: https://github.com/sissbruecker/linkding
[maintainability-badge]: https://api.codeclimate.com/v1/badges/f01be3cd230902508636/maintainability
[maintainability]: https://codeclimate.com/github/bachya/linkding-cli/maintainability
[new-issue]: https://github.com/bachya/linkding-cli/issues/new
[new-issue]: https://github.com/bachya/linkding-cli/issues/new
[pypi-badge]: https://img.shields.io/pypi/v/linkding-cli.svg
[pypi]: https://pypi.python.org/pypi/linkding-cli
[version-badge]: https://img.shields.io/pypi/pyversions/linkding-cli.svg
[version]: https://pypi.python.org/pypi/linkding-cli

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/bachya/linkding-cli",
    "name": "linkding-cli",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9.0,<4.0.0",
    "maintainer_email": "",
    "keywords": "",
    "author": "Aaron Bach",
    "author_email": "bachya1208@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/13/80/30674942a205a11ab8d8660ecc7e945e1586bc32a50f60faa4d7b1cfb307/linkding_cli-2023.8.0.tar.gz",
    "platform": null,
    "description": "# \ud83d\udd16 linkding-cli: A CLI to interact with a linkding instance\n\n[![CI][ci-badge]][ci]\n[![PyPI][pypi-badge]][pypi]\n[![Version][version-badge]][version]\n[![License][license-badge]][license]\n[![Code Coverage][codecov-badge]][codecov]\n[![Maintainability][maintainability-badge]][maintainability]\n\n`linkding-cli` is a CLI to interact with a [linkding][linkding] instance.\n\n- [Installation](#installation)\n- [Python Versions](#python-versions)\n- [Usage](#usage)\n  - [Main Help](#main-help)\n  - [Configuration](#configuration)\n    - [Example: CLI Options](#example--cli-options)\n    - [Example: Environment Variables](#example--environment-variables)\n    - [Example: Configuration File](#example--configuration-file)\n    - [Merging Configuration Options](#merging-configuration-options)\n  - [Bookmarks](#bookmarks)\n    - [The `bookmarks all` command](#the-bookmarks-all-command)\n    - [The `bookmarks archive` command](#the-bookmarks-archive-command)\n    - [The `bookmarks create` command](#the-bookmarks-create-command)\n    - [The `bookmarks delete` command](#the-bookmarks-delete-command)\n    - [The `bookmarks get` command](#the-bookmarks-get-command)\n    - [The `bookmarks unarchive` command](#the-bookmarks-unarchive-command)\n    - [The `bookmarks update` command](#the-bookmarks-update-command)\n  - [Tags](#tags)\n    - [The `tags all` command](#the-tags-all-command)\n    - [The `tags create` command](#the-tags-create-command)\n    - [The `tags get` command](#the-tags-get-command)\n  - [Misc.](#misc)\n    - [Parsing and Pretty Printing Data](#parsing-and-pretty-printing-data)\n- [Contributing](#contributing)\n\n# Installation\n\n```bash\npip install linkding-cli\n```\n\n# Python Versions\n\n`linkding-cli` is currently supported on:\n\n- Python 3.9\n- Python 3.10\n- Python 3.11\n\n# Usage\n\n## Main Help\n\n```\n$ linkding --help\nUsage: linkding [OPTIONS] COMMAND [ARGS]...\n\n  Interact with a linkding instance.\n\nOptions:\n  -c, --config PATH     A path to a config file.  [env var: LINKDING_CONFIG]\n  -t, --token TOKEN     A linkding API token.  [env var: LINKDING_TOKEN]\n  -u, --url URL         A URL to a linkding instance.  [env var: LINKDING_URL]\n  -v, --verbose         Increase verbosity of standard output.\n  --install-completion  Install completion for the current shell.\n  --show-completion     Show completion for the current shell, to copy it or\n                        customize the installation.\n  --help                Show this message and exit.\n\nCommands:\n  bookmarks  Work with bookmarks.\n  tags       Work with tags.\n```\n\n## Configuration\n\nConfiguration can be provided via a variety of sources:\n\n- CLI Options\n- Environment Variables\n- Configuration File\n\n### Example: CLI Options\n\n```\n$ linkding -u http://127.0.0.1:8000 -t abcde12345 ...\n```\n\n### Example: Environment Variables\n\n```\n$ LINKDING_URL=http://127.0.0.1:8000 LINKDING_TOKEN=abcde12345 linkding ...\n```\n\n### Example: Configuration File\n\nThe configuration file can be formatted as either JSON:\n\n```json\n{\n  \"token\": \"abcde12345\",\n  \"url\": \"http://127.0.0.1:8000\",\n  \"verbose\": false\n}\n```\n\n...or YAML\n\n```yaml\n---\ntoken: \"abcde12345\"\nurl: \"http://127.0.0.1:8000\"\nverbose: false\n```\n\nThen, the linkding file can be provided via either `-c` or `--config`.\n\n```\n$ linkding -c ~/.config/linkding.json ...\n```\n\n### Merging Configuration Options\n\nWhen parsing configuration options, `linkding-cli` looks at the configuration sources in\nthe following order:\n\n1. Configuration File\n2. Environment Variables\n3. CLI Options\n\nThis allows you to mix and match sources \u2013 for instance, you might have \"defaults\" in\nthe configuration file and override them via environment variables.\n\n## Bookmarks\n\n```\nUsage: linkding bookmarks [OPTIONS] COMMAND [ARGS]...\n\n  Work with bookmarks.\n\nOptions:\n  --help  Show this message and exit.\n\nCommands:\n  all        Get all bookmarks.\n  archive    Archive a bookmark by its linkding ID.\n  create     Create a bookmark.\n  delete     Delete a bookmark by its linkding ID.\n  get        Get a bookmark by its linkding ID.\n  unarchive  Unarchive a bookmark by its linkding ID.\n  update     Update a bookmark by its linkding ID.\n```\n\n### The `bookmarks all` command\n\n```\nUsage: linkding bookmarks all [OPTIONS]\n\n  Get all bookmarks.\n\nOptions:\n  -a, --archived        Return archived bookmarks.\n  -l, --limit INTEGER   The number of bookmarks to return.\n  -o, --offset INTEGER  The index from which to return results.\n  -q, --query TEXT      Return bookmarks containing a query string.\n  --help                Show this message and exit.\n```\n\n#### Examples:\n\n```sh\n# Get all bookmarks, but limit the results to 10:\n$ linkding bookmarks all --limit 10\n\n# Get all archived bookmarks that contain \"software\":\n$ linkding bookmarks all --archived --query software\n```\n\n### The `bookmarks archive` command\n\n```\nUsage: linkding bookmarks archive [OPTIONS] [BOOKMARK_ID]\n\n  Archive a bookmark by its linkding ID.\n\nArguments:\n  [BOOKMARK_ID]  The ID of a bookmark to archive.\n\nOptions:\n  --help  Show this message and exit.\n```\n\n#### Examples:\n\n```sh\n# Archive bookmark 12:\n$ linkding bookmarks archive 12\n```\n\n### The `bookmarks create` command\n\n```\nUsage: linkding bookmarks create [OPTIONS] URL\n\n  Create a bookmark.\n\nArguments:\n  URL  The URL to bookmark.  [required]\n\nOptions:\n  -a, --archived                 Whether the newly-created bookmark should be\n                                 immediately archived.\n  -d, --description DESCRIPTION  The description to give the bookmark.\n  -n, --notes NOTES              Any Markdown-formatted notes to add to the bookmark.\n  --shared                       Whether the newly-created bookmark should be\n                                 shareable with other linkding users\n  --tags TAG1,TAG2,...           The tags to apply to the bookmark.\n  -t, --title TITLE              The title to give the bookmark.\n  --unread                       Whether the newly-created bookmark should be\n                                 marked as unread.\n  --help                         Show this message and exit.\n```\n\n#### Examples:\n\n```sh\n# Create a bookmark:\n$ linkding bookmarks create https://example.com\n\n# Create a bookmark and immeditely archive it:\n$ linkding bookmarks create -a https://example.com\n\n# Create a bookmark with title, description, and tags:\n$ linkding bookmarks create https://example.com -t Example -d \"A description\" --tags tag1,tag2\n```\n\n### The `bookmarks delete` command\n\n```\nUsage: linkding bookmarks delete [OPTIONS] [BOOKMARK_ID]\n\n  Delete a bookmark by its linkding ID.\n\nArguments:\n  [BOOKMARK_ID]  The ID of a bookmark to delete.\n\nOptions:\n  --help  Show this message and exit.\n```\n\n#### Examples:\n\n```sh\n# Delete the bookmark with an ID of 12:\n$ linkding bookmarks delete 12\n```\n\n### The `bookmarks get` command\n\n```\nUsage: linkding bookmarks get [OPTIONS] [BOOKMARK_ID]\n\n  Get a bookmark by its linkding ID.\n\nArguments:\n  [BOOKMARK_ID]  The ID of a bookmark to retrieve.\n\nOptions:\n  --help  Show this message and exit.\n```\n\n#### Examples:\n\n```sh\n# Get bookmark 12:\n$ linkding bookmarks get 12\n```\n\n### The `bookmarks unarchive` command\n\n```\nUsage: linkding bookmarks unarchive [OPTIONS] [BOOKMARK_ID]\n\n  Unarchive a bookmark by its linkding ID.\n\nArguments:\n  [BOOKMARK_ID]  The ID of a bookmark to unarchive.\n\nOptions:\n  --help  Show this message and exit.\n```\n\n#### Examples:\n\n```sh\n# Unarchive bookmark 12:\n$ linkding bookmarks unarchive 12\n```\n\n### The `bookmarks update` command\n\n```\nUsage: linkding bookmarks update [OPTIONS] BOOKMARK_ID\n\n  Update a bookmark by its linkdingn ID.\n\nArguments:\n  BOOKMARK_ID  The ID of a bookmark to update.  [required]\n\nOptions:\n  -u, --url URL                  The URL to assign to the bookmark.\n  -d, --description DESCRIPTION  The description to give the bookmark.\n  -n, --notes NOTES              Any Markdown-formatted notes to add to the bookmark.\n  --shared                       Whether the -created bookmark should be\n                                 shareable with other linkding users\n  --tags TAG1,TAG2,...           The tags to apply to the bookmark.\n  -t, --title TITLE              The title to give the bookmark.\n  --unread                       Whether the bookmark should be marked as\n                                 unread.\n  --help                         Show this message and exit.\n```\n\n#### Examples:\n\n```sh\n# Update a bookmark with a new url:\n$ linkding bookmarks update 12 -u https://example.com\n\n# Update a bookmark with title, description, and tags:\n$ linkding bookmarks update 12 -t Example -d \"A description\" --tags tag1,tag2\n```\n\n## Tags\n\n```\nUsage: linkding tags [OPTIONS] COMMAND [ARGS]...\n\n  Work with tags.\n\nOptions:\n  --help  Show this message and exit.\n\nCommands:\n  all     Get all tags.\n  create  Create a tag.\n  get     Get a tag by its linkding ID.\n```\n\n### The `tags all` command\n\n```\nUsage: linkding tags all [OPTIONS]\n\n  Get all tags.\n\nOptions:\n  -l, --limit INTEGER   The number of tags to return.\n  -o, --offset INTEGER  The index from which to return results.\n  --help                Show this message and exit.\n```\n\n#### Examples:\n\n```sh\n# Get all tags, but limit the results to 10:\n$ linkding tags all --limit 10\n```\n\n### The `tags create` command\n\n```\nUsage: linkding tags create [OPTIONS] TAG_NAME\n\n  Create a tag.\n\nArguments:\n  TAG_NAME  The tag to create.  [required]\n\nOptions:\n  --help  Show this message and exit.\n```\n\n#### Examples:\n\n```sh\n# Create a tag:\n$ linkding tags create sample-tag\n```\n\n### The `tags get` command\n\n```\nUsage: linkding tags get [OPTIONS] TAG_ID\n\n  Get a tag by its linkding ID.\n\nArguments:\n  TAG_ID  The ID of a tag to retrieve.  [required]\n\nOptions:\n  --help  Show this message and exit.\n```\n\n#### Examples:\n\n```sh\n# Get tag 12:\n$ linkding tags get 12\n```\n\n## Misc.\n\n### Parsing and Pretty Printing Data\n\n`linkding-cli` doesn't have built-in utilities for modifying JSON output in any way.\nInstead, it's recommended to use a tool like [`jq`][jq]. This allows for multiple new\noutcomes, like pretty-printing:\n\n```\n$ linkding bookmarks all | jq\n{\n  \"count\": 123,\n  \"next\": \"http://127.0.0.1:8000/api/bookmarks/?limit=100&offset=100\",\n  \"previous\": null,\n  \"results\": [\n    {\n      \"id\": 1,\n      \"url\": \"https://example.com\",\n      \"title\": \"Example title\",\n      \"description\": \"Example description\",\n      \"website_title\": \"Website title\",\n      \"website_description\": \"Website description\",\n      \"tag_names\": [\n        \"tag1\",\n        \"tag2\"\n      ],\n      \"date_added\": \"2020-09-26T09:46:23.006313Z\",\n      \"date_modified\": \"2020-09-26T16:01:14.275335Z\"\n    }\n  ]\n}\n```\n\n...and slicing/parsing data:\n\n```\n$ linkding bookmarks all | jq '.results[0].title'\n\"Example title\"\n```\n\n# Contributing\n\nThanks to all of [our contributors][contributors] so far!\n\n1. [Check for open features/bugs][issues] or [initiate a discussion on one][new-issue].\n2. [Fork the repository][fork].\n3. (_optional, but highly recommended_) Create a virtual environment: `python3 -m venv .venv`\n4. (_optional, but highly recommended_) Enter the virtual environment: `source ./.venv/bin/activate`\n5. Install the dev environment: `script/setup`\n6. Code your new feature or bug fix on a new branch.\n7. Write tests that cover your new functionality.\n8. Run tests and ensure 100% code coverage: `poetry run pytest --cov linkding_cli tests`\n9. Update `README.md` with any new documentation.\n10. Submit a pull request!\n\n[ci-badge]: https://github.com/bachya/linkding-cli/workflows/CI/badge.svg\n[ci]: https://github.com/bachya/linkding-cli/actions\n[codecov-badge]: https://codecov.io/gh/bachya/linkding-cli/branch/dev/graph/badge.svg\n[codecov]: https://codecov.io/gh/bachya/linkding-cli\n[contributors]: https://github.com/bachya/linkding-cli/graphs/contributors\n[fork]: https://github.com/bachya/linkding-cli/fork\n[issues]: https://github.com/bachya/linkding-cli/issues\n[jq]: https://stedolan.github.io/jq/\n[license-badge]: https://img.shields.io/pypi/l/linkding-cli.svg\n[license]: https://github.com/bachya/linkding-cli/blob/main/LICENSE\n[linkding]: https://github.com/sissbruecker/linkding\n[maintainability-badge]: https://api.codeclimate.com/v1/badges/f01be3cd230902508636/maintainability\n[maintainability]: https://codeclimate.com/github/bachya/linkding-cli/maintainability\n[new-issue]: https://github.com/bachya/linkding-cli/issues/new\n[new-issue]: https://github.com/bachya/linkding-cli/issues/new\n[pypi-badge]: https://img.shields.io/pypi/v/linkding-cli.svg\n[pypi]: https://pypi.python.org/pypi/linkding-cli\n[version-badge]: https://img.shields.io/pypi/pyversions/linkding-cli.svg\n[version]: https://pypi.python.org/pypi/linkding-cli\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A CLI to interact with a linkding instance",
    "version": "2023.8.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/bachya/linkding_cli/issues",
        "Changelog": "https://github.com/bachya/linkding_cli/releases",
        "Homepage": "https://github.com/bachya/linkding-cli",
        "Repository": "https://github.com/bachya/linkding-cli"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c567bb785341c3c802ec82a125637d662723de93de3d3f5e977a6f5c20db4371",
                "md5": "63082358c61a7070af3da7c6e85ac433",
                "sha256": "1a1f63a2b7e924678ebfa4e726cac3c8edf72e14523a9d2c5ef7ed98e456d722"
            },
            "downloads": -1,
            "filename": "linkding_cli-2023.8.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "63082358c61a7070af3da7c6e85ac433",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9.0,<4.0.0",
            "size": 13535,
            "upload_time": "2023-08-08T16:55:40",
            "upload_time_iso_8601": "2023-08-08T16:55:40.552976Z",
            "url": "https://files.pythonhosted.org/packages/c5/67/bb785341c3c802ec82a125637d662723de93de3d3f5e977a6f5c20db4371/linkding_cli-2023.8.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "138030674942a205a11ab8d8660ecc7e945e1586bc32a50f60faa4d7b1cfb307",
                "md5": "bceaa01917d782f6651ad3a0500f3e4d",
                "sha256": "0953e5bc47adeb8c152967a5d1af35b03d5dbde1cf1a5db202cf3097fb13f3b5"
            },
            "downloads": -1,
            "filename": "linkding_cli-2023.8.0.tar.gz",
            "has_sig": false,
            "md5_digest": "bceaa01917d782f6651ad3a0500f3e4d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9.0,<4.0.0",
            "size": 13575,
            "upload_time": "2023-08-08T16:55:41",
            "upload_time_iso_8601": "2023-08-08T16:55:41.524726Z",
            "url": "https://files.pythonhosted.org/packages/13/80/30674942a205a11ab8d8660ecc7e945e1586bc32a50f60faa4d7b1cfb307/linkding_cli-2023.8.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-08 16:55:41",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "bachya",
    "github_project": "linkding-cli",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "linkding-cli"
}
        
Elapsed time: 0.10107s