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.1.0.tar.gz (61.8 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.1.0-py3-none-any.whl (74.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for vertopal-2.1.0.tar.gz
Algorithm Hash digest
SHA256 93121fb28507f7b27f60557d70198b0a5a80000ea865ecb9bf279414f8d9783c
MD5 8631a5caab27dadc0ffb7bd9415ae4df
BLAKE2b-256 b63dfb807fbd97f8548ad47195855b81bbb3866e44b80c15dc6fa43b1e24a927

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vertopal-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 74.0 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5ef1637ce5143de439c1e9a7561da20c4096b329f896aa5c78216a49ac8a99b3
MD5 f5e6b00187b8c5b342ed9fd458970b5b
BLAKE2b-256 e91ba781e5e441dace8966480cbca4bbd205c531c66af5390e6ec6e2c2fb7be5

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