Skip to main content

Convert your files in terminal using Vertopal API

Project description

Vertopal CLI

Vertopal CLI is a small yet powerful utility that allows you to convert digital files into various formats using the Vertopal public API.

You can use Vertopal CLI by either terminal commands or importing as a Python package.

Installing Vertopal CLI

Vertopal CLI is available on PyPI:

python -m pip install vertopal

You can also download the most recent version of Vertopal CLI binaries for macOS, Windows, and Linux from the releases page or the product page.

Installer

An automatic installer is available for each supported platform. It runs a script that downloads and copies Vertopal CLI binaries to the correct location.

Using macOS or Linux Terminal:

curl https://run.vertopal.com/cli/unix  | bash

On Windows using PowerShell:

(curl https://run.vertopal.com/cli/windows).Content | iex

[!TIP] If you encounter an UnauthorizedAccess error, start Windows PowerShell with the "Run as administrator" option and run:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine

Then rerun the installation command above. To revert the Execution Policies to their default, run:

Set-ExecutionPolicy -ExecutionPolicy Default -Scope LocalMachine

Using Vertopal CLI

Starting with Vertopal CLI v2.0 the package ships with a public default credential (app: free, token: FREE-TOKEN) so you can try the CLI and Python client without creating an account. This default credential is suitable for personal testing and evaluation and is subject to daily rate limits; if you intend to run production workloads or to exceed the free limits, obtain a private Application ID and Security Token from your Vertopal account and configure them (see the configuration section).

Converting files from the terminal is simple:

vertopal convert report.pdf --to docx

Bulk Conversion Support

Vertopal CLI supports bulk conversion, allowing you to process multiple files, entire directories, or complex patterns in a single command. You can combine:

  • Brace expansion: {a,b}, {1..5}
  • Bracket expansion: [abc], [0-9]
  • Wildcards: *, ?
  • Recursive globs: **/*
  • Exclusion filters: --exclude for fine‑grained control
  • Date filtering: --modified-since for time‑based selection

Here are some real‑world examples:

# Convert quarterly reports for multiple years
vertopal convert report_{2022,2023,2024}_{Q1,Q2,Q3,Q4}.pdf --to txt

# Convert files in multiple folders with different extensions
vertopal convert ./{docs,src,tests}/**/*.{txt,md,pdf} --to html

# Convert numbered chapters with exclusions
vertopal convert chapter_{01..20}.docx --exclude "chapter_{05,10,15}.docx" --to txt

# Convert all PDFs recursively, excluding drafts and backups
vertopal convert ./**/*.pdf --exclude "*draft*" "*backup*" --to txt

# Convert only files modified since a given date
vertopal convert **/*.docx --modified-since 2025-01-01 --to pdf

For the complete pattern syntax and advanced usage scenarios, see the Enhanced Pattern Matching Guide.

Streaming Conversions (stdin/stdout)

Vertopal CLI can also read from standard input and write to standard output, making it easy to integrate into pipelines or generate files on the fly without intermediate storage.

# Create a PDF from Markdown text provided via stdin
echo "Vertopal is **AWESOME!**" | vertopal convert - --from md --to pdf --output awesome.pdf

Setting App ID and Security Token (optional)

If you have a private Application ID and Security Token (recommended for production), configure them in the user configuration file.

Set credentials using the vertopal config subcommand:

vertopal config api.app "your-app-id" api.token "your-security-token"

After setting a private credential, the CLI and Python client will use it for authenticated requests. If you do not set credentials, the bundled public credential will be used by default.

Importing as Python package

Importing vertopal as a Python package makes it easy to implement file conversions in your projects.

The following code illustrates GIF to APNG conversion using the Vertopal Python package.

from vertopal import Converter
from vertopal.io import FileInput, FileOutput

source = FileInput("./MickeyMouse.gif")
sink = FileOutput("./MickeyMouse.apng")

converter = Converter()
conversion = converter.convert(
    readable=source,
    writable=sink,
    output_format="apng",
)
conversion.wait()
if conversion.successful():
    conversion.download()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vertopal-2.2.0.tar.gz (63.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vertopal-2.2.0-py3-none-any.whl (75.7 kB view details)

Uploaded Python 3

File details

Details for the file vertopal-2.2.0.tar.gz.

File metadata

  • Download URL: vertopal-2.2.0.tar.gz
  • Upload date:
  • Size: 63.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for vertopal-2.2.0.tar.gz
Algorithm Hash digest
SHA256 2ea11f0da44b4053e1fdcf15d8e91c3ff64ce3d3df73fb2f5412ae9a78373e63
MD5 1973056b7c225219fc22bf0074b323e8
BLAKE2b-256 d4fdfb202c606397073383c9d599c9c3157365a61ab47e91e6ef69be427470f7

See more details on using hashes here.

File details

Details for the file vertopal-2.2.0-py3-none-any.whl.

File metadata

  • Download URL: vertopal-2.2.0-py3-none-any.whl
  • Upload date:
  • Size: 75.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for vertopal-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9903346cce8f81ec5b84d68b4a7f007233b3d1b66fad594a1f2f93411269fa5b
MD5 21491b0a146fe74e204edbd0695ece6d
BLAKE2b-256 5b155a62c24ecd5a5dd94a85c8516398aecca29c680dc7be760de0e3e1a78d1c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page