PyPI

РССстр ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Python Package Index (PyPI) - Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, Π³Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ Python для ΠΎΠ±Ρ‰Π΅Π³ΠΎ использования.

.pypirc - ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для настройки ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² доступа ΠΊ PyPI ΠΏΡ€ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Python. Π€Π°ΠΉΠ» располоТСн Π² домашнСй ΠΏΠ°ΠΏΠΊΠ΅:

  • для ОБ Linux - /home/username/.pypirc;
  • для Windows - c:\Users\Имя_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ\.pypirc.

pyproject.toml - Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для опрСдСлСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, зависимостях, сборкС ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… настройках. Π€Π°ΠΉΠ» pyproject.toml ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ располагаСтся Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Python.

ΠŸΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² PyPI

  1. ΠžΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» .pypirc (vi ~/.pypirc). ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

    [distutils]
    index-servers = gitverse
    
    [gitverse]
    repository = https://gitverse.ru/api/packages/вашС_имя/pypi
    username = ваш_username_в_GitVerse
    password = ваш_ΠΏΠ°Ρ€ΠΎΠ»ΡŒ_Π²_GitVerse
    
    [global]
    trusted-host = https://gitverse.ru
  2. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» pyproject.toml ΠΈ внСситС измСнСния. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

    [build-system]
    requires = ["hatchling"]
    build-backend = "hatchling.build"
    [project]
    name = "pypi_package_example"
    version = "1.0.0"
    authors = [
        { name="coauthor1", email="coauthor1@gitverse.ru" },
    ]
    description = "A small example package"
    readme = "README.md"
    requires-python = ">=3.8"
    classifiers = [
        "Programming Language :: Python :: 3",
        "License :: OSI Approved :: MIT License",
        "Operating System :: OS Independent",
    ]
  3. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

    python3 -m pip install --upgrade build
    python3 -m build
    python3 -m pip install --upgrade twine
    python3 -m twine upload --repository gitverse dist/*

Π€Π°ΠΉΠ»Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ .tar.gz ΠΈ .whl. НСльзя ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚, Ссли ΠΏΠ°ΠΊΠ΅Ρ‚ с Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ вСрсиСй ΡƒΠΆΠ΅ сущСствуСт. Π‘Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚.

Установка ΠΏΠ°ΠΊΠ΅Ρ‚Π°

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ установки описан Π½Π° страницС ΠΏΠ°ΠΊΠ΅Ρ‚Π°:

Π’Ρ‹ нашли Ρ‡Ρ‚ΠΎ искали?