Skip to main content

Binaries for the 'extended + withdeploy' edition of the Hugo static site generator, installable with pip

Project description

hugo-python-distributions

Classifiers Description
Builds Actions Status for CI Actions status for CD pre-commit.ci status
Package PyPI version PyPI - Python Version Downloads Downloads per month Downloads per week Downloads per day PiWheels version
Meta License Hugo version Documentation prek Ruff

Binaries for the extended + withdeploy edition of the Hugo static site generator, installable via pip

This project provides wheels for Hugo so that it can be used with pip on macOS, Linux, and Windows; for Python 3.10 and later.

[!NOTE] Only the latest, stable, and to-be EOL Python versions are tested regularly. If you encounter any issues with the package on a specific Python version, please feel free to open an issue.

What is Hugo?

Hugo is a static site generator written in Go. It is designed to be fast and flexible, and it is used by many people and organizations for their websites, documentation, and personal blogs.

[!NOTE] This distribution of Hugo is currently not affiliated with the official Hugo project. Please refer to the Hugo documentation for more information on Hugo.

What version of hugo do I install?

This project, hugo is versioned alongside the Hugo releases and is aligned with the versioning of Hugo itself, which uses SemVer – but is likely versioned according to 0ver software standards based on their versioning history.

Binaries for hugo through these wheels are available for Hugo versions 0.121.2 and above, through PyPI or through releases on GitHub. If you need an older version of hugo that is not available through this package, please consider using the official Hugo binaries.

Please refer to the section on Supported platforms for a list of wheels available for supported platforms and architectures. If it does, jump to the Quickstart section to get started.

[!WARNING] Owing to the limitations of overall sizing available on PyPI for hugo, only the most recent versions of Hugo are available for download through pip, and older versions of these wheels will be deleted to make space for newer releases. If you need an older version of Hugo, please consider using the wheels that have been uploaded to the GitHub releases page or the official Hugo binaries. The former can be done via pip by downloading the .whl file, or through pipx using the URL directly (recommended). For example, if you need Hugo 0.122.0, you can run pipx install "https://github.com/agriyakhetarpal/hugo-python-distributions/releases/download/v0.122.0/hugo-0.122.0-cp311-cp311-win_amd64.whl" to download and install the wheel for Hugo 0.122.0 on Windows for Python 3.11.

Documentation

The documentation for this project is available at https://agriyakhetarpal.github.io/hugo-python-distributions/

Background

Binaries for the Hugo static site generator are available for download from the Hugo releases page. These binaries have to be downloaded and placed in an appropriate location on the system manually and the PATH environment variable has to be updated to include said location.

This project provides wheels for Hugo to be used with pip on macOS, Linux, and Windows. This allows Hugo to be installed and used in a virtual environment, which allows multiple versions of Hugo to be installed and used side-by-side in different virtual environments, where Hugo can be used as a command-line tool (a Python API is not provided at this time given the lack of such a demand for it).

Use cases

This project is designed to be used in the following scenarios:

  • You want to use Hugo as a command-line tool, but you don't want it to be installed globally on your system or do not have the necessary permissions to do so.
  • You cannot or do not want to use the official Hugo binaries
  • You want to use Hugo in a virtual environment that is isolated from the rest of your system – this also allows you to install and use multiple versions of Hugo side-by-side if needed for any reason
  • You want to use Hugo in a Python-based project, such as a static site generator that uses Hugo as a backend?
  • You want to test a new version of Hugo without having to install it globally on your system or affecting your existing Hugo installation
  • Python wheels allow for incredibly fast installation, in comparison to using other methods of installing Hugo such as system package managers
  • Easy updates to the latest version of Hugo through the use of the pip install --upgrade hugo command, and automatic updates possible too if you use a package manager such as Poetry or PDM to manage your Python dependencies or a tool such as pipx to manage your command-line tools
  • ...and more!

(Known) limitations

  • It is difficult to provide wheels for all platforms and architectures (see Supported platforms), so this project only provides wheels for the most common ones—those supported by Python platform tags, packaging standards and tooling—it is not reasonable to do so and provide releases for other platforms owing to the limited resources available on CI systems, in this case, GitHub Actions runners. For extra platforms and architectures, please refer to the Building from source section or consider using the official Hugo binaries for your purpose.
  • This project does not provide a Python API for Hugo, it just wraps its own command-line interface. The packaging infrastructure for this Python package is not designed to provide a Python API for Hugo, and it is not the goal of this project to provide one. If you need a Python API for Hugo, please refer to the Hugo documentation for further resources on how to use Hugo programmatically as needed.

Licensing

This project is licensed under the terms of the Apache 2.0 license. Hugo is available under Apache 2.0 (see the Hugo license) as well.

Security

Please refer to the Security policy for this project for more information.

Code of Conduct

This repository aims to follow the Hugo project in striving to provide a welcoming and inclusive environment for all contributors, regardless of their background and identity. Please refer to the Code of Conduct for more information that applies to all interactions in this repository and its associated spaces. It is reliant on the Contributor Covenant for its guidelines and conforms to version 2.1.

For requesting help, reporting bugs, or requesting features that are specific to Hugo's functionalities, please refer to the Hugo Discourse forum. For requesting help for hugo-python-distributions, please feel free to open an issue in this repository.

Inspirations for this project, and similar projects

Binaries

  • The official Hugo project, which is the source of the binaries provided by this project.

Naming

  • The cmake-python-distributions project by the scikit-build team provides a similar infrastructure for building and distributing CMake as a Python package to be used as a PEP 517 build-time dependency for building packages with extension modules. I used their repository's name as an inspiration for the name of this repository.

Other distributors of Hugo

  • uhugo is a Hugo binary helper that installs and updates Hugo binaries from Hugo official releases. It can be used to update the version of Hugo within Cloud providers. The difference between uHugo is that this project enables building Hugo from source and embeds the application binary into a wheel, while uHugo is a CLI to update an existing Hugo binary already present on PATH. It provides similar visions for installing Hugo via a command-line interface, even though the idea and the packaging code is fundamentally different.
  • hvm (Hugo version manager) is a project by one of the core developers of Hugo that allows downloading multiple Hugo versions and setting different default versions by adding them to PATH, thereby allowing the usage of multiple versions at once, but without the extra Python scaffolding provided here (and without pipx's run-without-install functionality of course).
  • hugo-installer is a small Node.js script which you can use to fetch the correct Hugo binary for your system and install it with npm's post-installation hook. It is similar to this project in that it provides a way to install Hugo binaries.
  • conda-forge's hugo feedstock provides a way to install Hugo binaries via the conda package format and associated package managers.

Similar projects that distribute binaries embedded in Python packages

  • zig-pypi is a project that provides a way to distribute the Zig compiler as a Python package, which can be installed via pip. It provides a similar infrastructure for building and distributing binaries as this project does for Hugo, but it fetches the Zig compiler binaries from the official Zig releases and embeds them into a Python package in a reproducible manner.
  • nodejs-wheel is a project that provides a way to unofficially distribute Node.js binaries as Python packages, which can be installed via pip, in order to use Node.js and npm in an isolated Python environment.
  • The pip-binary-factory repository provides binaries and their CLIs for various Go-based tools as Python packages.

There are several other projects in this area, but are not listed here for brevity.

Footnotes

  • This project is currently not affiliated with the official Hugo project. Please refer to the Hugo documentation for more information on Hugo.
  • The author of this project: @agriyakhetarpal, would like to express a token of gratitude to the owner of the Hugo package on PyPI (@nariman) for their kind gesture of granting access to take over the package name with the underlying provisions of PEP 541. This way, it allows users to install the package using the same name as the official Hugo project, which undoubtedly provides for a better user experience and convenience to users of this package when compared to the previous package name, python-hugo.

Release history Release notifications | RSS feed

Download files

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

Source Distribution

hugo-0.162.0.1.tar.gz (4.6 MB view details)

Uploaded Source

Built Distributions

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

hugo-0.162.0.1-py3-none-win_arm64.whl (27.6 MB view details)

Uploaded Python 3Windows ARM64

hugo-0.162.0.1-py3-none-win_amd64.whl (30.8 MB view details)

Uploaded Python 3Windows x86-64

hugo-0.162.0.1-py3-none-win32.whl (28.9 MB view details)

Uploaded Python 3Windows x86

hugo-0.162.0.1-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (29.9 MB view details)

Uploaded Python 3manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

hugo-0.162.0.1-py3-none-manylinux_2_24_s390x.manylinux_2_28_s390x.whl (29.3 MB view details)

Uploaded Python 3manylinux: glibc 2.24+ s390xmanylinux: glibc 2.28+ s390x

hugo-0.162.0.1-py3-none-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl (27.2 MB view details)

Uploaded Python 3manylinux: glibc 2.24+ ppc64lemanylinux: glibc 2.28+ ppc64le

hugo-0.162.0.1-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (27.3 MB view details)

Uploaded Python 3manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

hugo-0.162.0.1-py3-none-macosx_11_0_arm64.whl (28.1 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

hugo-0.162.0.1-py3-none-macosx_10_13_x86_64.whl (30.0 MB view details)

Uploaded Python 3macOS 10.13+ x86-64

File details

Details for the file hugo-0.162.0.1.tar.gz.

File metadata

  • Download URL: hugo-0.162.0.1.tar.gz
  • Upload date:
  • Size: 4.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for hugo-0.162.0.1.tar.gz
Algorithm Hash digest
SHA256 da15ac9d336c224ab4d0003f7115081647a2156eba1c4f08616cb167053a9a2e
MD5 4f14a797e599c64b452d0c16aba14578
BLAKE2b-256 3d7392c9977825e76c7c7425eb0dcfd534dc07558e3ce8e76d77df88d92e5c4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugo-0.162.0.1.tar.gz:

Publisher: cd.yml on agriyakhetarpal/hugo-python-distributions

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hugo-0.162.0.1-py3-none-win_arm64.whl.

File metadata

  • Download URL: hugo-0.162.0.1-py3-none-win_arm64.whl
  • Upload date:
  • Size: 27.6 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for hugo-0.162.0.1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 00f7ce36fbf40a4c6a63a78c0636f8978532b06fb9b60df1ab11d698c6724ce7
MD5 776dad5ba2acfc63d8868b6deaf0cc51
BLAKE2b-256 1e9138e47a599f32da23767fd600059bd9ddf1dbbeec4be1921d5045ef72dcbb

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugo-0.162.0.1-py3-none-win_arm64.whl:

Publisher: cd.yml on agriyakhetarpal/hugo-python-distributions

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hugo-0.162.0.1-py3-none-win_amd64.whl.

File metadata

  • Download URL: hugo-0.162.0.1-py3-none-win_amd64.whl
  • Upload date:
  • Size: 30.8 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for hugo-0.162.0.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 d1d56c0d7e898a9df0d4fd769b6e355b599ac98da8b0e26574bd22228d1bd047
MD5 8943aa64cdd02d7513350ee458e8f5b1
BLAKE2b-256 249091293dc630b512ed00045a0b1c0a8c54295675ce0294c4959df08e250ce6

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugo-0.162.0.1-py3-none-win_amd64.whl:

Publisher: cd.yml on agriyakhetarpal/hugo-python-distributions

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hugo-0.162.0.1-py3-none-win32.whl.

File metadata

  • Download URL: hugo-0.162.0.1-py3-none-win32.whl
  • Upload date:
  • Size: 28.9 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for hugo-0.162.0.1-py3-none-win32.whl
Algorithm Hash digest
SHA256 5e1e109af8ac4c6fbd31b09cc0f105ba0155b66d5c4b8025dc1c14cdd994fedf
MD5 d2192ced9a4f43fdc34873168f82c1f4
BLAKE2b-256 b3207fe4f901739d64c798aa2f605b628b60e4fadee448aebe3ad9f670bf57ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugo-0.162.0.1-py3-none-win32.whl:

Publisher: cd.yml on agriyakhetarpal/hugo-python-distributions

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hugo-0.162.0.1-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for hugo-0.162.0.1-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 33d0ca9c1f27bfb6c5b54ac5c36b8bba78130b5308f47a8413c70e2b47f46f4e
MD5 04207c2f3ba32840464c08288e4286df
BLAKE2b-256 3690097f9a1ead0c1d8cb8987687714df3120a778c77091781dcb7c6cbb77df3

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugo-0.162.0.1-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: cd.yml on agriyakhetarpal/hugo-python-distributions

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hugo-0.162.0.1-py3-none-manylinux_2_24_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for hugo-0.162.0.1-py3-none-manylinux_2_24_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 6d5bdbc72e97a9a67bd3848f1b8fd8ca52618273c5a3afccaa4436f38654a76f
MD5 aca6a9ee704d5c055968d3c588bcb5b6
BLAKE2b-256 4f48a911000174f64725792a9595b9cad98f3915b1a4c1a4151a6bea0100bdee

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugo-0.162.0.1-py3-none-manylinux_2_24_s390x.manylinux_2_28_s390x.whl:

Publisher: cd.yml on agriyakhetarpal/hugo-python-distributions

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hugo-0.162.0.1-py3-none-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for hugo-0.162.0.1-py3-none-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 eb1ce8bca922c681d105925ded386377bd41fe31e49d39fc66dc37758508d82c
MD5 8ef53ce31864d424e8e8573a5fd66070
BLAKE2b-256 2faf4a539028deea7e5c8201bfb6869e359ca4e7a4efc3d1748c0a6e848e6eed

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugo-0.162.0.1-py3-none-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl:

Publisher: cd.yml on agriyakhetarpal/hugo-python-distributions

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hugo-0.162.0.1-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for hugo-0.162.0.1-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d5e0ff931ad579f1144271c216c3cc510d8270d78a4d23554c95d32f6360ab1a
MD5 bbd090362cec1c39d2351703e89579ce
BLAKE2b-256 acb49be6526fd858d5e5efcef916b4dbf97e8a04a9dee57223d2b6a6ec0c1805

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugo-0.162.0.1-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: cd.yml on agriyakhetarpal/hugo-python-distributions

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hugo-0.162.0.1-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hugo-0.162.0.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 73703a1a23df73f75c78a7bdfa35ab4eeccb9b46316c91b0f849b9ff5539abc2
MD5 4a480650cd7caa08fba83014922b3a9d
BLAKE2b-256 8abe9a77efae275661b27b7dc62d059f97999c8bfe4b95d97d3f72dbea39d41c

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugo-0.162.0.1-py3-none-macosx_11_0_arm64.whl:

Publisher: cd.yml on agriyakhetarpal/hugo-python-distributions

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hugo-0.162.0.1-py3-none-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for hugo-0.162.0.1-py3-none-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 238d9a9cffe5363a29094f5116ffb18f56d83e89b28d5ef241a9571f17005e96
MD5 2af8ade903ed563a65d4719bfea95121
BLAKE2b-256 0876d51c7e31e4bd15aadcd47b8e5608feab70faabf4a67214fc8ae24bd325c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugo-0.162.0.1-py3-none-macosx_10_13_x86_64.whl:

Publisher: cd.yml on agriyakhetarpal/hugo-python-distributions

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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