Skip to main content

Tool for uploading HTML documentation to a docat server, as an alternative to docatl.

Project description

docat-upload

python version PyPI Build status codecov Commit activity License

Tool for uploading HTML documentation to a docat server, as an alternative to docatl.

The tool packages a specified folder with HTML documentation content (e.g. created with mkdocs) and uploads it to the specified docat server.

Extra features:

  • For Python documentation the script can extract the document version from the Python module with the same name as project.
  • Limit the number of published version with -max-versions
    • The script will automatically delete older versions if the number of versions is exceeded
  • Delete all current versions of a project with --delete-project
  • Specify custom SSL certificate path if an in-house CA is used.
  • Use the system CA bundle instead of requests' default certifi bundle with --system-cert.
  • Support insecure SSL for use with self signed certificates

Usage

usage: docat_upload [-h] -p PROJECT [-f FOLDER] [-r RELEASE] [-t TAG] -s SERVER [-a API_KEY] [-m NUM] [-d] [-V] [-i] [-c SSL_CERT]

options:
  -h, --help            show this help message and exit
  -p PROJECT, --project PROJECT
                        Project name
  -f FOLDER, --folder FOLDER
                        Documentation folder to be uploaded, e.g. `docs/_build/html`
  -r RELEASE, --release RELEASE
                        Release version for the upload, by default retrieved from the module.__version__
  -t TAG, --tag TAG     Tag this version, e.g. 'latest'
  -s SERVER, --server SERVER
                        URL of the docat server
  -a API_KEY, --api-key API_KEY
                        API key for docat server, required for delete and overwrite
  -m NUM, --max-versions NUM
                        Cut number of versions to max. NUM
  -d, --delete          Delete the specified version
  --delete-project      Delete the entire project by removing all versions
  -V, --version         show program's version number and exit
  -i, --insecure        Don't check SSL cert
  -c SSL_CERT, --ssl-cert SSL_CERT
                        Path to SSL cert or cert bundle, e.g. /etc/ssl/certs/ca-certificates.crt
  --system-cert         Use the system CA bundle instead of requests default certifi bundle
  -v, --verbose         Verbose output

Example

Upload a new documentation version to a project:

uv run python -m docat_upload.docat_upload \
  -p my-project \
  -s https://docat.example.com \
  -a YOUR_API_KEY \
  -f docs/_build/html \
  -r 1.2.0 \
  -t latest \
  -m 5

Delete all versions of a project from the docat server:

uv run python -m docat_upload.docat_upload \
  -p my-project \
  -s https://docat.example.com \
  -a YOUR_API_KEY \
  --delete-project

.env settings

Instead of passing the options via CLI, they can be provided in an .env file.

DOCAT_PROJECT=docat_upload
DOCAT_SOURCE=docs/_build/html
DOCAT_SERVER=https://my.docat.server:8443/
DOCAT_API_KEY=abc123
DOCAT_MAX_VERSIONS=10
CERT_PATH=/etc/ssl/certs/ca-certificates.crt

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

docat_upload-0.3.1.tar.gz (84.5 kB view details)

Uploaded Source

Built Distribution

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

docat_upload-0.3.1-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file docat_upload-0.3.1.tar.gz.

File metadata

  • Download URL: docat_upload-0.3.1.tar.gz
  • Upload date:
  • Size: 84.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for docat_upload-0.3.1.tar.gz
Algorithm Hash digest
SHA256 0bfbdaeece077b19385a9b36964d55654eb09a185258decf6eaf234f0a059bd6
MD5 149e02e55c30cf59ea0bc72251df8922
BLAKE2b-256 c691ad957220e76a1852e99e3cc28bdbc8cdf4d1f14dca5dc83abdcb66a6a836

See more details on using hashes here.

File details

Details for the file docat_upload-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: docat_upload-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for docat_upload-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 54d862d579ab639bb72e42653afb9da659d5c78ac99f35729e3127f43abdc1bb
MD5 29dd6c004a1a34c1b72633cd5967c758
BLAKE2b-256 406e2d8c28c787cce5f351c540990a1f21e88c01fa5fb76a78fb792cf0868133

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