view contrib/automation/hgautomation/pypi.py @ 51433:d36a81d70f25

chainsaw-update: taking care of initial cloning Perhaps we should go just a bit lower level than this `instance()`, since the main added value in our use-case is full path resolution, that we need to do anyway for the rmtree cleanup.
author Georges Racinet <georges.racinet@octobus.net>
date Fri, 23 Feb 2024 11:41:55 +0100
parents 2372284d9457
children
line wrap: on
line source

# pypi.py - Automation around PyPI
#
# Copyright 2019 Gregory Szorc <gregory.szorc@gmail.com>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.

# no-check-code because Python 3 native.

from twine.commands.upload import upload as twine_upload
from twine.settings import Settings


def upload(paths):
    """Upload files to PyPI.

    `paths` is an iterable of `pathlib.Path`.
    """
    settings = Settings()

    twine_upload(settings, [str(p) for p in paths])