Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stabilize 'build.py' #2740

Open
2 tasks done
padix-key opened this issue Jul 28, 2020 · 50 comments
Open
2 tasks done

Stabilize 'build.py' #2740

padix-key opened this issue Jul 28, 2020 · 50 comments
Labels
area/docs/faq Frequently duplicated/potential addition to FAQ

Comments

@padix-key
Copy link

padix-key commented Jul 28, 2020

  • I have searched the issues of this repo and believe that this is not a duplicate.
  • I have searched the documentation and believe that my question is not covered.

Feature Request

In order to compile C-extensions, it is currently required to add a build script to the project directory and to pyproject.toml:

[tool.poetry]
build = "build.py"

This feature is described in #11, but not in the official Poetry documentation. So my question is whether this feature is stable. If this is the case, I would like to propose to include it in the official documentation.

@padix-key padix-key added kind/feature Feature requests/implementations status/triage This issue needs to be triaged labels Jul 28, 2020
@abn
Copy link
Member

abn commented Jul 28, 2020

@padix-key this feature is, today, an undocumented and really unsupported features. However, we do plan on making support for build scripts more standard. This will be added to documentation once it is fully supported and flushed out. Changes like python-poetry/poetry-core#45 are stepping stones to this.

As an additional note we are also improve support for "build" configuration section along with this. So, this will become something like the following in newer versions.

[tool.poetry.build]
script = "build.py"

@abn abn added area/docs/faq Frequently duplicated/potential addition to FAQ and removed kind/feature Feature requests/implementations status/triage This issue needs to be triaged labels Jul 28, 2020
@albireox
Copy link

I'm confused about the new build system. I've modified my pyproject.py to use

[tool.poetry.build]
script = "build.py"
generate-setup-file = false

and

[build-system]
requires = ["poetry-core>=1.0.0a9"]
build-backend = "poetry.core.masonry.api"

and my build.py to

def build():

    distribution = Distribution({'name': 'extended', 'ext_modules': ext_modules})
    distribution.package_dir = 'extended'

    cmd = build_ext(distribution)
    cmd.ensure_finalized()
    cmd.run()

    # Copy built extensions back to the project
    for output in cmd.get_outputs():
        relative_extension = os.path.relpath(output, cmd.build_lib)
        shutil.copyfile(output, relative_extension)
        mode = os.stat(relative_extension).st_mode
        mode |= (mode & 0o444) >> 2
        os.chmod(relative_extension, mode)


if __name__ == '__main__':
    build()

where ext_modules is a list of distutils.core.Extension.

This works fine with poetry install (in the sense that the extension is compiled and I get the shared library) but when I run pip install . no compilation happens.

Am I missing something?

@albireox
Copy link

Looking at the pendulum example, it seems one also needs to add

include = [
    {path = "flicamera/*.so", format = "wheel"}
]

for the compiled extension to be installed. This should be documented when the feature becomes stable.

This include is not in the test at tests/masonry/builders/fixtures/extended_with_no_setup/pyproject.toml so I'm not sure how that test would pass.

@abn
Copy link
Member

abn commented Jul 30, 2020

@albireox moving forward we will make it the responsibility if the build script to move the compiled files around such that they are in the right places as expected. If the built files are within an included package it will automatically be picked up. This is probably why it works in the test (did not look into it). If it is in another location, the include configuration is the way to go. We might try and include this wil some "not final" warning in the documentation for 1.1.0 so it is useful for maintainers till it stabilises.

@albireox
Copy link

Thanks for the explanation.

I would really encourage that if this change become part of 1.1.0 it gets documented, even if it's considered an experimental feature. The old build system, although undocumented worked as expected and a stable release should not break that.

@abn
Copy link
Member

abn commented Jul 30, 2020

The old mechanism should still work out of the box; since the default is to generate the setup file for this release. But yes, I agree, some documentation explaining all this would be good.

@ahobsonsayers
Copy link

With the new poetry 1.1.0 release i have found in my projects that my line: script = "build.py" no longer works and an error is thrown if i try to install the tarball that build.

Seeing this issue, i modified my pyproject.toml to use the poetry-core build-system and added the following lines. Now everything seems to be working again.

[tool.poetry.build]
generate-setup-file = false

Is this the intended behaviour? Is now the new method of building extensions?

@abn
Copy link
Member

abn commented Oct 5, 2020

@ahobsonsayers you will still probably also need #2740 (comment).

@ahobsonsayers
Copy link

Sorry, yes, it seems I missed that line in my copy and paste of the lines. So is it intended for the script = "build.py" under [tool.poetry] to be deprecated and no longer work?

@abn
Copy link
Member

abn commented Oct 5, 2020

@ahobsonsayers I would have expected the old configuration to have worked even if it was depreciated. However if you have both [tool.poetry.build] and tool.poetry.build = "build.py" it would fail.

Alexander-Belyi added a commit to Alexander-Belyi/pyCombo that referenced this issue Feb 11, 2021
Updated build and installation according to Poetry 1.0.1
See this for details:
python-poetry/poetry#2740
@Gobot1234
Copy link

Gobot1234 commented Apr 27, 2021

@abn The details from the non-poetry based build.py not being ran

pyproject.toml

[tool.poetry]
name = "steamio"
version = "0.7.0a"
description = "A Python wrapper for the Steam API"
authors = ["Gobot1234"]
license = "MIT"
keywords = ["steam.py", "steam", "steamio", "steam-api"]
classifiers=[
    "Development Status :: 5 - Production/Stable",
    "Framework :: AsyncIO",
    "Intended Audience :: Developers",
    "Natural Language :: English",
    "Operating System :: OS Independent",
    "Topic :: Software Development :: Libraries",
    "Topic :: Software Development :: Libraries :: Python Modules",
    "Typing :: Typed",
]
include = [
    "LICENSE",
    "steam/__metadata__.py",
    "steam/py.typed",
    "steam/ext/__init__.pyi",
]
packages = [
    { include = "steam" },
]

[tool.poetry.build]
script = "build.py"
generate-setup-file = false

[tool.poetry.urls]
"Documentation" = "https://steampy.readthedocs.io/en/latest"
"Code" = "https://github.com/Gobot1234/steam.py"
"Bug Tracker" = "https://github.com/Gobot1234/steam.py/issues"

[tool.poetry.dependencies]
python = "^3.7"
aiohttp = ">=3.7.0,<3.8.0"
beautifulsoup4 = ">=4.9.1"
rsa = ">=4.6"
betterproto = "2.0.0b3"
typing-extensions = "3.7.4.3"
importlib-metadata = { version = ">=1.7.0", python = "<3.8" }

# docs option
sphinx = { version = "3.5.4", optional = true }
sphinxcontrib_trio = { version = "1.1.2", optional = true }
csscompressor = { version = "*", optional = true }
htmlmin = { version = "*", optional = true }
rjsmin = { version = "*", optional = true }


[tool.poetry.extras]
docs = ["sphinx", "sphinxcontrib_trio", "csscompressor", "htmlmin", "rjsmin"]

[tool.poetry.dev-dependencies]
black = "^21.4b0"
isort = "*"
flake8 = "*"
pytest = "*"
pytest-asyncio = "*"
mypy = "*"

[build-system]
requires = ["poetry-core>=1.0.0", "toml"]
build-backend = "poetry.core.masonry.api"

build.py file

from __future__ import annotations

import pathlib
import re
import subprocess
from typing import Any

import toml

ROOT = pathlib.Path(".").resolve()
PYPROJECT = toml.load(ROOT / "pyproject.toml")
try:
    VERSION: str = PYPROJECT["tool"]["poetry"]["version"]
except KeyError:
    raise RuntimeError("Version is not set") from None


RELEASE_LEVELS = {
    "a": "alpha",
    "b": "beta",
    "rc": "candidate",
}

try:
    end_char = re.findall(r"\d+.\d+.\d+([^\d]*).*", VERSION)[0]
except IndexError:
    end_char = ""
    release_level = "final"
else:
    release_level = RELEASE_LEVELS[end_char]

if release_level != "final":
    # try to find out the commit hash if checked out from git, and append it to __version__ (since we use this value
    # from setup.py, it gets automatically propagated to an installed copy as well)
    try:
        out = subprocess.check_output("git rev-list --count HEAD")
        if out:
            VERSION = f"{VERSION}{out.strip()}"
        out = subprocess.check_output("git rev-parse --short HEAD")
        if out:
            VERSION = f"{VERSION}+g{out.strip()}"
    except Exception:
        pass


major, minor, micro = VERSION.split(".")
micro = micro.split(end_char, maxsplit=1)[0]
file = f"""from typing import NamedTuple
from typing_extensions import Literal
__all__ = (
    "__title__",
    "__author__",
    "__license__",
    "__version__",
    "version_info",
)
class VersionInfo(NamedTuple):
    major: int
    minor: int
    micro: int
    releaselevel: Literal["alpha", "beta", "candidate", "final"]
__title__ = "steam"
__author__ = "Gobot1234"
__license__ = "MIT"
__version__ = "{VERSION}"
version_info = VersionInfo(major={major}, minor={minor}, micro={micro}, releaselevel="{release_level}")
"""


def build(setup_kwargs: dict[str, Any]) -> None:
    metadata = ROOT / "steam" / "__metadata__.py"
    metadata.write_text(file)

Verbose pip install log

James@Jamess-MacBook-Air ~ % python3 -m pip install -U git+https://github.com/Gobot1234/steam.py.git --verbose
Using pip 21.1 from /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pip (python 3.9)
WARNING: Value for scheme.headers does not match. Please report this to <https://github.com/pypa/pip/issues/9617>
distutils: /Library/Frameworks/Python.framework/Versions/3.9/include/python3.9/UNKNOWN
sysconfig: /Library/Frameworks/Python.framework/Versions/3.9/include/python3.9
WARNING: Additional context:
user = False
home = None
root = None
prefix = None
Non-user install because site-packages writeable
Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-ephem-wheel-cache-1kup9cm4
Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4
Initialized build tracking at /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4
Created build tracker: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4
Entered build tracker: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4
Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-install-qf_oz4vk
Collecting git+https://github.com/Gobot1234/steam.py.git
  Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-build-1l34pck3
  Cloning https://github.com/Gobot1234/steam.py.git to /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-build-1l34pck3
  Running command git clone -q https://github.com/Gobot1234/steam.py.git /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-build-1l34pck3
  Added git+https://github.com/Gobot1234/steam.py.git to build tracker '/private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4'
  Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-build-env-p4ufcs_0
  Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-standalone-pip-61b82u3w
  Running command /Library/Frameworks/Python.framework/Versions/3.9/bin/python3 /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-standalone-pip-61b82u3w/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-build-env-p4ufcs_0/overlay --no-warn-script-location -v --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'poetry-core>=1.0.0' toml
  Using pip 21.1 from /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-standalone-pip-61b82u3w/__env_pip__.zip/pip (python 3.9)
  Non-user install by explicit request
  Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-ephem-wheel-cache-ziz11f7j
  Created build tracker: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4
  Entered build tracker: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4
  Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-install-si3kzawp
  1 location(s) to search for versions of poetry-core:
  * https://pypi.org/simple/poetry-core/
  Fetching project page and analyzing links: https://pypi.org/simple/poetry-core/
  Getting page https://pypi.org/simple/poetry-core/
  Found index url https://pypi.org/simple
  Looking up "https://pypi.org/simple/poetry-core/" in the cache
  Request header has "max_age" as 0, cache bypassed
  Starting new HTTPS connection (1): pypi.org:443
  https://pypi.org:443 "GET /simple/poetry-core/ HTTP/1.1" 304 0
    Found link https://files.pythonhosted.org/packages/a5/6a/ae017843c144c627b37c125134ab32fd1287fcb2bc95793cd00af2c584af/poetry-core-1.0.0a0.tar.gz#sha256=361a8cdcb833c14c0e754fe12ccf0f23a1c8b6261095279d9272a759e8935396 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*), version: 1.0.0a0
    Found link https://files.pythonhosted.org/packages/65/9d/2c3285421474412a0b16048b6405cf45615bb8c2437bba2e99f20801a2cc/poetry_core-1.0.0a0-py2.py3-none-any.whl#sha256=8161315a5ae9984af7ffe1004644a462ffbbc9736d2890f40345ddb857e732a1 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*), version: 1.0.0a0
    Found link https://files.pythonhosted.org/packages/b9/9d/ee3b9c3ca4e15562bf3bc383d64ab1a11c6434c187ca6c951c3327f72c51/poetry-core-1.0.0a1.tar.gz#sha256=8baeb2d9980091bf8e4375c0f6a87e19a8d56083bdfb5a3875a7bd57befc257e (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*), version: 1.0.0a1
    Found link https://files.pythonhosted.org/packages/50/a6/ede2185e777bbce89530c3f1c7f5ef155eb8510fa8655af77a1763de72b2/poetry_core-1.0.0a1-py2.py3-none-any.whl#sha256=ed6c10cd45b91281e535f6ae5d223d9347278ef847805307615b32269693eb73 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*), version: 1.0.0a1
    Found link https://files.pythonhosted.org/packages/17/c6/05e0e09b564178dd7b81821dd5448d9d366f6dccccd28c2dfe5cda7c8183/poetry-core-1.0.0a2.tar.gz#sha256=7ca384da50b14cf163f6cf04d3b0900bdb32aefa04b13652a49551090722f188 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a2
    Found link https://files.pythonhosted.org/packages/b2/f8/aa9dbbd5cab341ac91aa13dea969732f15f02b0e5f963c339f0629147215/poetry_core-1.0.0a2-py2.py3-none-any.whl#sha256=e742467689173a282d9f83d35a72f7e42ac5543cb6ad55130aebbc4e314c8302 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a2
    Found link https://files.pythonhosted.org/packages/7d/38/bbc4ecee9c0cf121d7354733e2778d708fc30da48395e20069f2487333bc/poetry-core-1.0.0a3.tar.gz#sha256=02d1bfed4a53dbe8570c6bc94164d7a5e1b01630f74174f03bc932e8b334be5a (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a3
    Found link https://files.pythonhosted.org/packages/1c/bc/905daad562b9b6114044f156188f965e1f3ffa8e8486bef7633482657457/poetry_core-1.0.0a3-py2.py3-none-any.whl#sha256=2351a1e3a8e18414236f1c7db31c0c7d19bd240c27b5540abf9d81156a10da4c (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a3
    Found link https://files.pythonhosted.org/packages/cc/7a/8103474ff3820db01120cfc4a7ee3e4c69620703b6c92939783f8d99a0ef/poetry-core-1.0.0a4.tar.gz#sha256=a95aa0454b539ca6f98056aac5743de273762161aaf2db68152b8510de6849f1 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a4
    Found link https://files.pythonhosted.org/packages/3e/b4/57fa9a5a7723814045dd6869b4c2865001b62b0ecaa80c5fe721d8e94416/poetry_core-1.0.0a4-py2.py3-none-any.whl#sha256=2c6b7be852f9eb772823fcff8a0a912b49cbe57c6dfe26f17799df65eccee8b8 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a4
    Found link https://files.pythonhosted.org/packages/b7/70/5c287bd1e7c8c86a318755514e02c6d431335de541c43eef65d0fb5af955/poetry-core-1.0.0a5.tar.gz#sha256=afac65874baf2030328f43df840cec2b5a17bcdad0a04c55b0f830e444ef1120 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a5
    Found link https://files.pythonhosted.org/packages/a3/15/e4992c1fd66765a47b267f3d390e67066ff16764d419101dc9af7cb0d6a6/poetry_core-1.0.0a5-py2.py3-none-any.whl#sha256=ffbd0512d80affce937ce53db2d35bf28ea52d287bae61da5b5d63058618d6b9 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a5
    Found link https://files.pythonhosted.org/packages/7b/c9/f6acb3b355be9cebb7c9e40c5db24f1da6592fe16754de0472c8659cef77/poetry-core-1.0.0a6.tar.gz#sha256=965869ce488869e473f5afb96e6155724fce9ce8ed2ef71c7e47a900c6159ea8 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a6
    Found link https://files.pythonhosted.org/packages/37/07/1c188d7ea2c91a5e792dde29aa6d931e84a44f4f5cf06342ab85d5cead94/poetry_core-1.0.0a6-py2.py3-none-any.whl#sha256=440d3b43b64db47c2c348f784f770a1cbc83ae0aacb4f66d9f2f82b35366303f (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a6
    Found link https://files.pythonhosted.org/packages/45/1d/34f0f441d48bece9c92488977ce4aa72f464e79bb8e9c8f454976864bcaf/poetry-core-1.0.0a7.tar.gz#sha256=f627d32e0c78e7219e0f3b040f3a2a6a6eb9074e0cc04f8d0fec13f258013929 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a7
    Found link https://files.pythonhosted.org/packages/a9/f4/b65a655c632e11ffdd156beb2965cd0876d01317c0a589fdbd519d015932/poetry_core-1.0.0a7-py2.py3-none-any.whl#sha256=ccaf834e5e015452fa637781c0125c24458dc66eb7af2db88a6d3cba1c42f6e0 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a7
    Found link https://files.pythonhosted.org/packages/1b/47/3f770be8226e0e34d40dbe42e19076c793194ea936163c9fb1c79e9510f5/poetry-core-1.0.0a8.tar.gz#sha256=02237e5abaa4fda4ef865cc49111a3f8a7999cfb149b30d5e93f85c3acdc4d95 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a8
    Found link https://files.pythonhosted.org/packages/43/68/084aa9085f903b19ea85f1993035998cb78ebdb244648a097b39b6c37755/poetry_core-1.0.0a8-py2.py3-none-any.whl#sha256=d7d9e702fbae06c05abb1ada63678e940d746b2696f4601b951b27ac7c2c5337 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a8
    Found link https://files.pythonhosted.org/packages/90/cd/b65ab6b3a3a44a474f43a7906f31a1b159ffa63bebd7125ed1f91c06c5e4/poetry-core-1.0.0a9.tar.gz#sha256=f08e9829fd06609ca5615faa91739b589eb71e025a6aaf7ddffb698676eb7c8c (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a9
    Found link https://files.pythonhosted.org/packages/6f/d3/dd3d7c608d495b3f2a5f0dd40c2901e6c1d6aceba6e3f3131147f9259b3e/poetry_core-1.0.0a9-py2.py3-none-any.whl#sha256=79a63629ae44533ba9aa828e0eff0002c61b3af5fc9bec212e006cc643f4eb19 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a9
    Found link https://files.pythonhosted.org/packages/dc/c9/d0a648ca07e20810d889f33d0ea3ddc7ef610f42510305dc484a00425ed0/poetry-core-1.0.0b1.tar.gz#sha256=c7a64770780f6a4998eee1e260fc3b7e22fa1c9b94b05c0faa13aa512f95eaa1 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0b1
    Found link https://files.pythonhosted.org/packages/db/81/6447beb70ca2ab3274046b1276b6301782392cd39e0e946dc4d08f7f8c3b/poetry_core-1.0.0b1-py2.py3-none-any.whl#sha256=92d2a33c27c733e746425c6506fdf583909e3ce5de4591deb23a4efb13f1a72c (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0b1
    Found link https://files.pythonhosted.org/packages/90/2c/b440db634995f35cf7430b6a6c030ac629858e7620edb28992e89a08ec53/poetry-core-1.0.0rc1.tar.gz#sha256=aad65fe96586f741afe582590912ad8e82823671c46c2550a8f9dc74cd4f769d (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0rc1
    Found link https://files.pythonhosted.org/packages/5a/98/47251b64c62f949ece8f5e6b6086a4cc591df364ca2fdbc80d96e7b7b271/poetry_core-1.0.0rc1-py2.py3-none-any.whl#sha256=f63476c92d4d6205ea4fd28a9a9496a465ad15f573ce974dd3ef3a7807c4a919 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0rc1
    Found link https://files.pythonhosted.org/packages/10/dd/21b1c5e89504bfa746b58cdecaeae3cf423f438f690706b3ea3a68f562bf/poetry-core-1.0.0rc2.tar.gz#sha256=abbe4059433e6d51aff024986b19919319e084592203f17e5354e7c0a7dee6f4 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0rc2
    Found link https://files.pythonhosted.org/packages/32/67/9906f8cd22b09d17aa1d5998e7284ecb4099a7886734d65febf4561538df/poetry_core-1.0.0rc2-py2.py3-none-any.whl#sha256=f536d59ee0be81f7c689a1a30e9894cb24abeb23f4ff4e2130583fca9863272d (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0rc2
    Found link https://files.pythonhosted.org/packages/a0/90/93840d54683cd7f407fc83cb5a998e4d758cf53b879e59689db292785a7c/poetry-core-1.0.0rc3.tar.gz#sha256=0e3d23a4c5acc14c5f1703b12645692bf24461c8c8e3fff32ca80a5462beccdf (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0rc3
    Found link https://files.pythonhosted.org/packages/89/ef/5170513520199fef278f3dfe110f1ddb6607103453c7f1db2543dbc4f9d8/poetry_core-1.0.0rc3-py2.py3-none-any.whl#sha256=2c9ee2b3f7b40047bafdc2239fbb9de73637edc07a9697a3a66ac15fe6b040f5 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0rc3
    Found link https://files.pythonhosted.org/packages/42/21/5335c7eceff3dccb3b415018bb17db0c442b599f610fd5712021d5f9403f/poetry-core-1.0.0.tar.gz#sha256=6a664ff389b9f45382536f8fa1611a0cb4d2de7c5a5c885db1f0c600cd11fbd5 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0
    Found link https://files.pythonhosted.org/packages/4f/c1/2222bcb8040b32c2119bb70ac59711fd916f6f029d598439a2fecaab9b55/poetry_core-1.0.0-py2.py3-none-any.whl#sha256=769288e0e1b88dfcceb3185728f0b7388b26d5f93d6c22d2dcae372da51d200d (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0
    Found link https://files.pythonhosted.org/packages/26/b8/8156fb0992cc8cbde9d3ad74c467aa8ab454a7fc6a34f701255b57c7b5da/poetry-core-1.0.1.tar.gz#sha256=a54bbb12c445b266eee0faf5d38f09dae9860cffa32ad7d99c7b345c94fb6f7b (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.1
    Found link https://files.pythonhosted.org/packages/ba/21/4b0a3fa8f42518c885955c924dcca6eeb7b8ebbc30b71c5ff00b0abe090b/poetry_core-1.0.1-py2.py3-none-any.whl#sha256=94db888849966730a12111a2530548b01b0c22720b69d5561648af8de6a3ea5f (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.1
    Found link https://files.pythonhosted.org/packages/d7/5a/58944c8905bb2519ae58cfab0a663fdfd88c692a6bdc51cc99416cd2f9e8/poetry-core-1.0.2.tar.gz#sha256=ff505d656a6cf40ffbf84393d8b5bf37b78523a15def3ac473b6fad74261ee71 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.2
    Found link https://files.pythonhosted.org/packages/a0/56/d7923fb39395c662bab9e6044e290458a77204ea3cafc3b1ea88e27b8f4c/poetry_core-1.0.2-py2.py3-none-any.whl#sha256=ee0ed4164440eeab27d1b01bc7b9b3afdc3124f68d4ea28d0821a402a9c7c044 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.2
    Found link https://files.pythonhosted.org/packages/d0/b3/1017f2f6d801f1e3e4ffee3f058a10d20df1a9560aba9c5b49e92cdd9912/poetry-core-1.0.3.tar.gz#sha256=2315c928249fc3207801a81868b64c66273077b26c8d8da465dccf8f488c90c5 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.3
    Found link https://files.pythonhosted.org/packages/bf/e1/08c7478df1e93dea47b06c9d9a80dbb54af7421462e1b22c280d063df807/poetry_core-1.0.3-py2.py3-none-any.whl#sha256=c6bde46251112de8384013e1ab8d66e7323d2c75172f80220aba2bc07e208e9a (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.3
    Found link https://files.pythonhosted.org/packages/5a/32/90805a7927d4d3c64a03e37e71e4086b35528ab0941ca0dd772149f54308/poetry-core-1.1.0a1.tar.gz#sha256=e73d8728904a05318a972315b0c68f53e5cf5314f540f57c232cc92acc699934 (from https://pypi.org/simple/poetry-core/) (requires-python:>=3.6,<4.0), version: 1.1.0a1
    Found link https://files.pythonhosted.org/packages/c0/1d/84f368958a065ed0825daf05ee68bab2e8c33c27a5d837aaf0af7863908c/poetry_core-1.1.0a1-py3-none-any.whl#sha256=eb1630413dece7c7b385c61a3d1bffaae9fc9f80075479ef5adb5afb49a1877f (from https://pypi.org/simple/poetry-core/) (requires-python:>=3.6,<4.0), version: 1.1.0a1
    Found link https://files.pythonhosted.org/packages/3a/8a/45f9bdaabcebb3a92320457d67d123ca8c81812da3c473e0c52280ad7db1/poetry-core-1.1.0a2.tar.gz#sha256=f9c95c06aee80c3f9251cc7d1005f9bcc2adc8a81296474b373432973e1e6fef (from https://pypi.org/simple/poetry-core/) (requires-python:>=3.6,<4.0), version: 1.1.0a2
    Found link https://files.pythonhosted.org/packages/c5/00/826928996815d97ff75aef4ad3ac45b86b9c7d0f2079e5281b909fab00f4/poetry_core-1.1.0a2-py3-none-any.whl#sha256=60e11977e8d767e575683ffb17c42eac8fdc45e262480e80010e8d37d879f286 (from https://pypi.org/simple/poetry-core/) (requires-python:>=3.6,<4.0), version: 1.1.0a2
    Found link https://files.pythonhosted.org/packages/53/bf/e464e2a6b8e7688a964a76bdaa800ba32d8f2c9226de036720e1fbd67532/poetry-core-1.1.0a3.tar.gz#sha256=579f35c98b0cdbc4e0fd2f7172de7deca74849a2ccfef05bf1df71d3855aa421 (from https://pypi.org/simple/poetry-core/) (requires-python:>=3.6,<4.0), version: 1.1.0a3
    Found link https://files.pythonhosted.org/packages/5c/c7/4fca8817212797f1b6426e0d2c68eef4a616787ea8e92964a233ad180aee/poetry_core-1.1.0a3-py3-none-any.whl#sha256=406da64d43dc0b954a1f446f8ec1b7f21e02cb8307542e8c366fa184a86f5c2e (from https://pypi.org/simple/poetry-core/) (requires-python:>=3.6,<4.0), version: 1.1.0a3
  Skipping link: not a file: https://pypi.org/simple/poetry-core/
  Given no hashes to check 8 links for project 'poetry-core': discarding no candidates
  Collecting poetry-core>=1.0.0
    Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-unpack-fn2i8j09
    Looking up "https://files.pythonhosted.org/packages/bf/e1/08c7478df1e93dea47b06c9d9a80dbb54af7421462e1b22c280d063df807/poetry_core-1.0.3-py2.py3-none-any.whl" in the cache
    Current age based on date: 775155
    Ignoring unknown cache-control directive: immutable
    Freshness lifetime from max-age: 365000000
    The response is "fresh", returning cached response
    365000000 > 775155
    Using cached poetry_core-1.0.3-py2.py3-none-any.whl (424 kB)
    Added poetry-core>=1.0.0 from https://files.pythonhosted.org/packages/bf/e1/08c7478df1e93dea47b06c9d9a80dbb54af7421462e1b22c280d063df807/poetry_core-1.0.3-py2.py3-none-any.whl#sha256=c6bde46251112de8384013e1ab8d66e7323d2c75172f80220aba2bc07e208e9a to build tracker '/private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4'
    Removed poetry-core>=1.0.0 from https://files.pythonhosted.org/packages/bf/e1/08c7478df1e93dea47b06c9d9a80dbb54af7421462e1b22c280d063df807/poetry_core-1.0.3-py2.py3-none-any.whl#sha256=c6bde46251112de8384013e1ab8d66e7323d2c75172f80220aba2bc07e208e9a from build tracker '/private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4'
  1 location(s) to search for versions of toml:
  * https://pypi.org/simple/toml/
  Fetching project page and analyzing links: https://pypi.org/simple/toml/
  Getting page https://pypi.org/simple/toml/
  Found index url https://pypi.org/simple
  Looking up "https://pypi.org/simple/toml/" in the cache
  Request header has "max_age" as 0, cache bypassed
  https://pypi.org:443 "GET /simple/toml/ HTTP/1.1" 304 0
    Found link https://files.pythonhosted.org/packages/11/79/d88a538950184342693ed829db6a59999513eade0706a26f4bf6f76122fa/toml-0.6.0.tar.gz#sha256=0103cd3598cac83f5c4eb281c1e3381aec214776b8c719a373c7d07f52c18d9b (from https://pypi.org/simple/toml/), version: 0.6.0
    Found link https://files.pythonhosted.org/packages/69/a4/f7d29d4cb673a6c18486802f84d287d48cdd2af810d6df4211194967aa20/toml-0.6.5.tar.gz#sha256=e4d9f53755b2bdeab220b455b6654ba1080f2eee3dc3ab9adf245762c3de9f2b (from https://pypi.org/simple/toml/), version: 0.6.5
    Found link https://files.pythonhosted.org/packages/9d/79/457a4f0212935884ac2b5632d88f69a0123825fae5a1da42119f6bc5649a/toml-0.7.0.tar.gz#sha256=58bf09e991d5474191420d206b72fa6f50ac5503269c5bd936123e4b545342f2 (from https://pypi.org/simple/toml/), version: 0.7.0
    Found link https://files.pythonhosted.org/packages/a2/98/a1b3df99dfe03b7a9cf9ccfd8fb53957cb882c5d25110f9852cb119a92d9/toml-0.7.1.tar.gz#sha256=53dd619be5a027e9c8510dd492113f643df1cccc13188a8698914e51720a1a89 (from https://pypi.org/simple/toml/), version: 0.7.1
    Found link https://files.pythonhosted.org/packages/72/e4/c69b62ee516758aff09aee08bbbef965b6b94bc10a1cf11f05f8d36a3b4c/toml-0.8.0.tar.gz#sha256=24250090512f1295d75f3db558ba26130b56b7dec7d30abbfc3bbde89a67825d (from https://pypi.org/simple/toml/), version: 0.8.0
    Found link https://files.pythonhosted.org/packages/ea/b9/caf57d47c401a37a538b5d27660391b763425d888261af2441c2432fb6be/toml-0.8.1.tar.gz#sha256=b9fa91d6fa70958c47905be17750283692c95ef06fac52671229c461b49d503d (from https://pypi.org/simple/toml/), version: 0.8.1
    Found link https://files.pythonhosted.org/packages/92/f4/559c5dfe5755c5730ba18cb8c8f06c49789d9e1880219f9565b6f1352acf/toml-0.8.2.tar.gz#sha256=1260e1b94ca934ab48229720a88ce71910c886e136e209b8d76a83528c56e499 (from https://pypi.org/simple/toml/), version: 0.8.2
    Found link https://files.pythonhosted.org/packages/0c/d4/48756e8b47c7638695646de87529ea7d6feba132b741a8970a17eeeebeed/toml-0.9.0.tar.gz#sha256=d803e90b790ca561ae08f77c7b728ca11185d646c769d09d965879c129ef0dee (from https://pypi.org/simple/toml/), version: 0.9.0
    Found link https://files.pythonhosted.org/packages/5c/44/23bda89772ea8da0c4561637b6694abd1d21805e107bc324e66f4b54cdb3/toml-0.9.1.tar.gz#sha256=e835834f1de5c60657e588a4cc48544945e03569a3d9f8b489436abb987840cf (from https://pypi.org/simple/toml/), version: 0.9.1
    Found link https://files.pythonhosted.org/packages/5c/b2/8a18ced00a43f2cc5261f9ac9f1c94621251400a80db1567177719355177/toml-0.9.2.tar.gz#sha256=b3953bffe848ad9a6d554114d82f2dcb3e23945e90b4d9addc9956f37f336594 (from https://pypi.org/simple/toml/), version: 0.9.2
    Found link https://files.pythonhosted.org/packages/af/06/edd820aa8a04ba82354a841af00aa28dcde391a7759a1e34579bb33d63bf/toml-0.9.3.1.tar.gz#sha256=e1e8c220046889234df5ec688d6f97b734fc4a08a6d8edfc176f4e6abf90cfb5 (from https://pypi.org/simple/toml/), version: 0.9.3.1
    Found link https://files.pythonhosted.org/packages/f5/f9/044110c267e6408013b85166a7cfcd352cf85275aa8ce700aa5c0eb407ba/toml-0.9.4.tar.gz#sha256=8e86bd6ce8cc11b9620cb637466453d94f5d57ad86f17e98a98d1f73e3baab2d (from https://pypi.org/simple/toml/), version: 0.9.4
    Found link https://files.pythonhosted.org/packages/c7/19/76c3cb84949a0593767b32b9be83a604d8a68c3580ff5d0ee64856b39ade/toml-0.9.6-py2.py3-none-any.whl#sha256=a7901919d3e4f92ffba7ff40a9d697e35bbbc8a8049fe8da742f34c83606d957 (from https://pypi.org/simple/toml/), version: 0.9.6
    Found link https://files.pythonhosted.org/packages/0e/e8/1aa958599e5326b690a31334112da68a9b75e7563879e2c5103ca219d30a/toml-0.9.6.tar.gz#sha256=380178cde50a6a79f9d2cf6f42a62a5174febe5eea4126fe4038785f1d888d42 (from https://pypi.org/simple/toml/), version: 0.9.6
    Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/07/33/ccf5b4258d599e66fb6a4a4d0d10d4ee24cefd201f1a269c0321ce9a9ca9/toml-0.10.0-py2.7.egg#sha256=f1db651f9657708513243e61e6cc67d101a39bad662eaa9b5546f789338e07a3 (from https://pypi.org/simple/toml/)
    Found link https://files.pythonhosted.org/packages/a2/12/ced7105d2de62fa7c8fb5fce92cc4ce66b57c95fb875e9318dba7f8c5db0/toml-0.10.0-py2.py3-none-any.whl#sha256=235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e (from https://pypi.org/simple/toml/), version: 0.10.0
    Found link https://files.pythonhosted.org/packages/b9/19/5cbd78eac8b1783671c40e34bb0fa83133a06d340a38b55c645076d40094/toml-0.10.0.tar.gz#sha256=229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c (from https://pypi.org/simple/toml/), version: 0.10.0
    Found link https://files.pythonhosted.org/packages/9f/e1/1b40b80f2e1663a6b9f497123c11d7d988c0919abbf3c3f2688e448c5363/toml-0.10.1-py2.py3-none-any.whl#sha256=bda89d5935c2eac546d648028b9901107a595863cb36bae0c73ac804a9b4ce88 (from https://pypi.org/simple/toml/), version: 0.10.1
    Found link https://files.pythonhosted.org/packages/da/24/84d5c108e818ca294efe7c1ce237b42118643ce58a14d2462b3b2e3800d5/toml-0.10.1.tar.gz#sha256=926b612be1e5ce0634a2ca03470f95169cf16f939018233a670519cb4ac58b0f (from https://pypi.org/simple/toml/), version: 0.10.1
    Found link https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl#sha256=806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b (from https://pypi.org/simple/toml/) (requires-python:>=2.6, !=3.0.*, !=3.1.*, !=3.2.*), version: 0.10.2
    Found link https://files.pythonhosted.org/packages/be/ba/1f744cdc819428fc6b5084ec34d9b30660f6f9daaf70eead706e3203ec3c/toml-0.10.2.tar.gz#sha256=b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f (from https://pypi.org/simple/toml/) (requires-python:>=2.6, !=3.0.*, !=3.1.*, !=3.2.*), version: 0.10.2
  Skipping link: not a file: https://pypi.org/simple/toml/
  Given no hashes to check 20 links for project 'toml': discarding no candidates
  Collecting toml
    Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-unpack-ltixwryu
    Looking up "https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl" in the cache
    Current age based on date: 10284827
    Ignoring unknown cache-control directive: immutable
    Freshness lifetime from max-age: 365000000
    The response is "fresh", returning cached response
    365000000 > 10284827
    Using cached toml-0.10.2-py2.py3-none-any.whl (16 kB)
    Added toml from https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl#sha256=806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b to build tracker '/private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4'
    Removed toml from https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl#sha256=806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b from build tracker '/private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4'
  Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-unpack-fd4oj5kp
  Installing collected packages: toml, poetry-core


  WARNING: Value for scheme.headers does not match. Please report this to <https://github.com/pypa/pip/issues/9617>
  distutils: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-build-env-p4ufcs_0/overlay/include/python3.9/UNKNOWN
  sysconfig: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-build-env-p4ufcs_0/overlay/include/python3.9
  WARNING: Additional context:
  user = False
  home = None
  root = None
  prefix = '/private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-build-env-p4ufcs_0/overlay'
  Successfully installed poetry-core-1.0.3 toml-0.10.2
  Removed build tracker: '/private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4'
  Installing build dependencies ... done
  Running command /Library/Frameworks/Python.framework/Versions/3.9/bin/python3 /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/tmp0xlywr_8
  Getting requirements to build wheel ... done
    Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-modern-metadata-t6u0ndc0
    Running command /Library/Frameworks/Python.framework/Versions/3.9/bin/python3 /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/tmp34_4sd9w
    Preparing wheel metadata ... done
  Source in /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-build-1l34pck3 has version 0.7.0a0, which satisfies requirement steamio==0.7.0a0 from git+https://github.com/Gobot1234/steam.py.git
  Removed steamio==0.7.0a0 from git+https://github.com/Gobot1234/steam.py.git from build tracker '/private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4'
Requirement already satisfied: betterproto==2.0.0b3 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from steamio==0.7.0a0) (2.0.0b3)
Requirement already satisfied: aiohttp<3.8.0,>=3.7.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from steamio==0.7.0a0) (3.7.3)
Requirement already satisfied: rsa>=4.6 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from steamio==0.7.0a0) (4.6)
Requirement already satisfied: beautifulsoup4>=4.9.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from steamio==0.7.0a0) (4.9.3)
Requirement already satisfied: typing-extensions==3.7.4.3 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from steamio==0.7.0a0) (3.7.4.3)
Requirement already satisfied: grpclib<0.5.0,>=0.4.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from betterproto==2.0.0b3->steamio==0.7.0a0) (0.4.1)
Requirement already satisfied: python-dateutil<3.0,>=2.8 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from betterproto==2.0.0b3->steamio==0.7.0a0) (2.8.1)
Requirement already satisfied: yarl<2.0,>=1.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from aiohttp<3.8.0,>=3.7.0->steamio==0.7.0a0) (1.6.3)
Requirement already satisfied: attrs>=17.3.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from aiohttp<3.8.0,>=3.7.0->steamio==0.7.0a0) (20.3.0)
Requirement already satisfied: async-timeout<4.0,>=3.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from aiohttp<3.8.0,>=3.7.0->steamio==0.7.0a0) (3.0.1)
Requirement already satisfied: chardet<4.0,>=2.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from aiohttp<3.8.0,>=3.7.0->steamio==0.7.0a0) (3.0.4)
Requirement already satisfied: multidict<7.0,>=4.5 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from aiohttp<3.8.0,>=3.7.0->steamio==0.7.0a0) (5.1.0)
Requirement already satisfied: soupsieve>1.2 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from beautifulsoup4>=4.9.1->steamio==0.7.0a0) (2.1)
Requirement already satisfied: h2<5,>=3.1.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from grpclib<0.5.0,>=0.4.1->betterproto==2.0.0b3->steamio==0.7.0a0) (4.0.0)
Requirement already satisfied: hyperframe<7,>=6.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from h2<5,>=3.1.0->grpclib<0.5.0,>=0.4.1->betterproto==2.0.0b3->steamio==0.7.0a0) (6.0.0)
Requirement already satisfied: hpack<5,>=4.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from h2<5,>=3.1.0->grpclib<0.5.0,>=0.4.1->betterproto==2.0.0b3->steamio==0.7.0a0) (4.0.0)
Requirement already satisfied: six>=1.5 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from python-dateutil<3.0,>=2.8->betterproto==2.0.0b3->steamio==0.7.0a0) (1.15.0)
Requirement already satisfied: pyasn1>=0.1.3 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from rsa>=4.6->steamio==0.7.0a0) (0.4.8)
Requirement already satisfied: idna>=2.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from yarl<2.0,>=1.0->aiohttp<3.8.0,>=3.7.0->steamio==0.7.0a0) (2.10)
Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-unpack-y0qh6n9t
WARNING: Value for scheme.headers does not match. Please report this to <https://github.com/pypa/pip/issues/9617>
distutils: /Library/Frameworks/Python.framework/Versions/3.9/include/python3.9/UNKNOWN
sysconfig: /Library/Frameworks/Python.framework/Versions/3.9/include/python3.9
WARNING: Additional context:
user = False
home = None
root = None
prefix = None
Removed build tracker: '/private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4'

>>> import steam
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
"/steam.py/steam/__init__.py", line 11, in <module>
    from .__metadata__ import *
ModuleNotFoundError: No module named 'steam.__metadata__'

@Gobot1234
Copy link

@abn The details from the non-poetry based build.py not being ran

pyproject.toml

[tool.poetry]

name = "steamio"

version = "0.7.0a"

description = "A Python wrapper for the Steam API"

authors = ["Gobot1234"]

license = "MIT"

keywords = ["steam.py", "steam", "steamio", "steam-api"]

classifiers=[

    "Development Status :: 5 - Production/Stable",

    "Framework :: AsyncIO",

    "Intended Audience :: Developers",

    "Natural Language :: English",

    "Operating System :: OS Independent",

    "Topic :: Software Development :: Libraries",

    "Topic :: Software Development :: Libraries :: Python Modules",

    "Typing :: Typed",

]

include = [

    "LICENSE",

    "steam/__metadata__.py",

    "steam/py.typed",

    "steam/ext/__init__.pyi",

]

packages = [

    { include = "steam" },

]



[tool.poetry.build]

script = "build.py"

generate-setup-file = false



[tool.poetry.urls]

"Documentation" = "https://steampy.readthedocs.io/en/latest"

"Code" = "https://github.com/Gobot1234/steam.py"

"Bug Tracker" = "https://github.com/Gobot1234/steam.py/issues"



[tool.poetry.dependencies]

python = "^3.7"

aiohttp = ">=3.7.0,<3.8.0"

beautifulsoup4 = ">=4.9.1"

rsa = ">=4.6"

betterproto = "2.0.0b3"

typing-extensions = "3.7.4.3"

importlib-metadata = { version = ">=1.7.0", python = "<3.8" }



# docs option

sphinx = { version = "3.5.4", optional = true }

sphinxcontrib_trio = { version = "1.1.2", optional = true }

csscompressor = { version = "*", optional = true }

htmlmin = { version = "*", optional = true }

rjsmin = { version = "*", optional = true }





[tool.poetry.extras]

docs = ["sphinx", "sphinxcontrib_trio", "csscompressor", "htmlmin", "rjsmin"]



[tool.poetry.dev-dependencies]

black = "^21.4b0"

isort = "*"

flake8 = "*"

pytest = "*"

pytest-asyncio = "*"

mypy = "*"



[build-system]

requires = ["poetry-core>=1.0.0", "toml"]

build-backend = "poetry.core.masonry.api"

build.py file

from __future__ import annotations



import pathlib

import re

import subprocess

from typing import Any



import toml



ROOT = pathlib.Path(".").resolve()

PYPROJECT = toml.load(ROOT / "pyproject.toml")

try:

    VERSION: str = PYPROJECT["tool"]["poetry"]["version"]

except KeyError:

    raise RuntimeError("Version is not set") from None





RELEASE_LEVELS = {

    "a": "alpha",

    "b": "beta",

    "rc": "candidate",

}



try:

    end_char = re.findall(r"\d+.\d+.\d+([^\d]*).*", VERSION)[0]

except IndexError:

    end_char = ""

    release_level = "final"

else:

    release_level = RELEASE_LEVELS[end_char]



if release_level != "final":

    # try to find out the commit hash if checked out from git, and append it to __version__ (since we use this value

    # from setup.py, it gets automatically propagated to an installed copy as well)

    try:

        out = subprocess.check_output("git rev-list --count HEAD")

        if out:

            VERSION = f"{VERSION}{out.strip()}"

        out = subprocess.check_output("git rev-parse --short HEAD")

        if out:

            VERSION = f"{VERSION}+g{out.strip()}"

    except Exception:

        pass





major, minor, micro = VERSION.split(".")

micro = micro.split(end_char, maxsplit=1)[0]

file = f"""from typing import NamedTuple

from typing_extensions import Literal

__all__ = (

    "__title__",

    "__author__",

    "__license__",

    "__version__",

    "version_info",

)

class VersionInfo(NamedTuple):

    major: int

    minor: int

    micro: int

    releaselevel: Literal["alpha", "beta", "candidate", "final"]

__title__ = "steam"

__author__ = "Gobot1234"

__license__ = "MIT"

__version__ = "{VERSION}"

version_info = VersionInfo(major={major}, minor={minor}, micro={micro}, releaselevel="{release_level}")

"""





def build(setup_kwargs: dict[str, Any]) -> None:

    metadata = ROOT / "steam" / "__metadata__.py"

    metadata.write_text(file)

Verbose pip install log

James@Jamess-MacBook-Air ~ % python3 -m pip install -U git+https://github.com/Gobot1234/steam.py.git --verbose

Using pip 21.1 from /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pip (python 3.9)

WARNING: Value for scheme.headers does not match. Please report this to <https://github.com/pypa/pip/issues/9617>

distutils: /Library/Frameworks/Python.framework/Versions/3.9/include/python3.9/UNKNOWN

sysconfig: /Library/Frameworks/Python.framework/Versions/3.9/include/python3.9

WARNING: Additional context:

user = False

home = None

root = None

prefix = None

Non-user install because site-packages writeable

Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-ephem-wheel-cache-1kup9cm4

Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4

Initialized build tracking at /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4

Created build tracker: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4

Entered build tracker: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4

Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-install-qf_oz4vk

Collecting git+https://github.com/Gobot1234/steam.py.git

  Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-build-1l34pck3

  Cloning https://github.com/Gobot1234/steam.py.git to /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-build-1l34pck3

  Running command git clone -q https://github.com/Gobot1234/steam.py.git /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-build-1l34pck3

  Added git+https://github.com/Gobot1234/steam.py.git to build tracker '/private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4'

  Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-build-env-p4ufcs_0

  Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-standalone-pip-61b82u3w

  Running command /Library/Frameworks/Python.framework/Versions/3.9/bin/python3 /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-standalone-pip-61b82u3w/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-build-env-p4ufcs_0/overlay --no-warn-script-location -v --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'poetry-core>=1.0.0' toml

  Using pip 21.1 from /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-standalone-pip-61b82u3w/__env_pip__.zip/pip (python 3.9)

  Non-user install by explicit request

  Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-ephem-wheel-cache-ziz11f7j

  Created build tracker: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4

  Entered build tracker: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4

  Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-install-si3kzawp

  1 location(s) to search for versions of poetry-core:

  * https://pypi.org/simple/poetry-core/

  Fetching project page and analyzing links: https://pypi.org/simple/poetry-core/

  Getting page https://pypi.org/simple/poetry-core/

  Found index url https://pypi.org/simple

  Looking up "https://pypi.org/simple/poetry-core/" in the cache

  Request header has "max_age" as 0, cache bypassed

  Starting new HTTPS connection (1): pypi.org:443

  https://pypi.org:443 "GET /simple/poetry-core/ HTTP/1.1" 304 0

    Found link https://files.pythonhosted.org/packages/a5/6a/ae017843c144c627b37c125134ab32fd1287fcb2bc95793cd00af2c584af/poetry-core-1.0.0a0.tar.gz#sha256=361a8cdcb833c14c0e754fe12ccf0f23a1c8b6261095279d9272a759e8935396 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*), version: 1.0.0a0

    Found link https://files.pythonhosted.org/packages/65/9d/2c3285421474412a0b16048b6405cf45615bb8c2437bba2e99f20801a2cc/poetry_core-1.0.0a0-py2.py3-none-any.whl#sha256=8161315a5ae9984af7ffe1004644a462ffbbc9736d2890f40345ddb857e732a1 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*), version: 1.0.0a0

    Found link https://files.pythonhosted.org/packages/b9/9d/ee3b9c3ca4e15562bf3bc383d64ab1a11c6434c187ca6c951c3327f72c51/poetry-core-1.0.0a1.tar.gz#sha256=8baeb2d9980091bf8e4375c0f6a87e19a8d56083bdfb5a3875a7bd57befc257e (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*), version: 1.0.0a1

    Found link https://files.pythonhosted.org/packages/50/a6/ede2185e777bbce89530c3f1c7f5ef155eb8510fa8655af77a1763de72b2/poetry_core-1.0.0a1-py2.py3-none-any.whl#sha256=ed6c10cd45b91281e535f6ae5d223d9347278ef847805307615b32269693eb73 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*), version: 1.0.0a1

    Found link https://files.pythonhosted.org/packages/17/c6/05e0e09b564178dd7b81821dd5448d9d366f6dccccd28c2dfe5cda7c8183/poetry-core-1.0.0a2.tar.gz#sha256=7ca384da50b14cf163f6cf04d3b0900bdb32aefa04b13652a49551090722f188 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a2

    Found link https://files.pythonhosted.org/packages/b2/f8/aa9dbbd5cab341ac91aa13dea969732f15f02b0e5f963c339f0629147215/poetry_core-1.0.0a2-py2.py3-none-any.whl#sha256=e742467689173a282d9f83d35a72f7e42ac5543cb6ad55130aebbc4e314c8302 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a2

    Found link https://files.pythonhosted.org/packages/7d/38/bbc4ecee9c0cf121d7354733e2778d708fc30da48395e20069f2487333bc/poetry-core-1.0.0a3.tar.gz#sha256=02d1bfed4a53dbe8570c6bc94164d7a5e1b01630f74174f03bc932e8b334be5a (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a3

    Found link https://files.pythonhosted.org/packages/1c/bc/905daad562b9b6114044f156188f965e1f3ffa8e8486bef7633482657457/poetry_core-1.0.0a3-py2.py3-none-any.whl#sha256=2351a1e3a8e18414236f1c7db31c0c7d19bd240c27b5540abf9d81156a10da4c (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a3

    Found link https://files.pythonhosted.org/packages/cc/7a/8103474ff3820db01120cfc4a7ee3e4c69620703b6c92939783f8d99a0ef/poetry-core-1.0.0a4.tar.gz#sha256=a95aa0454b539ca6f98056aac5743de273762161aaf2db68152b8510de6849f1 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a4

    Found link https://files.pythonhosted.org/packages/3e/b4/57fa9a5a7723814045dd6869b4c2865001b62b0ecaa80c5fe721d8e94416/poetry_core-1.0.0a4-py2.py3-none-any.whl#sha256=2c6b7be852f9eb772823fcff8a0a912b49cbe57c6dfe26f17799df65eccee8b8 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a4

    Found link https://files.pythonhosted.org/packages/b7/70/5c287bd1e7c8c86a318755514e02c6d431335de541c43eef65d0fb5af955/poetry-core-1.0.0a5.tar.gz#sha256=afac65874baf2030328f43df840cec2b5a17bcdad0a04c55b0f830e444ef1120 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a5

    Found link https://files.pythonhosted.org/packages/a3/15/e4992c1fd66765a47b267f3d390e67066ff16764d419101dc9af7cb0d6a6/poetry_core-1.0.0a5-py2.py3-none-any.whl#sha256=ffbd0512d80affce937ce53db2d35bf28ea52d287bae61da5b5d63058618d6b9 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a5

    Found link https://files.pythonhosted.org/packages/7b/c9/f6acb3b355be9cebb7c9e40c5db24f1da6592fe16754de0472c8659cef77/poetry-core-1.0.0a6.tar.gz#sha256=965869ce488869e473f5afb96e6155724fce9ce8ed2ef71c7e47a900c6159ea8 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a6

    Found link https://files.pythonhosted.org/packages/37/07/1c188d7ea2c91a5e792dde29aa6d931e84a44f4f5cf06342ab85d5cead94/poetry_core-1.0.0a6-py2.py3-none-any.whl#sha256=440d3b43b64db47c2c348f784f770a1cbc83ae0aacb4f66d9f2f82b35366303f (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a6

    Found link https://files.pythonhosted.org/packages/45/1d/34f0f441d48bece9c92488977ce4aa72f464e79bb8e9c8f454976864bcaf/poetry-core-1.0.0a7.tar.gz#sha256=f627d32e0c78e7219e0f3b040f3a2a6a6eb9074e0cc04f8d0fec13f258013929 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a7

    Found link https://files.pythonhosted.org/packages/a9/f4/b65a655c632e11ffdd156beb2965cd0876d01317c0a589fdbd519d015932/poetry_core-1.0.0a7-py2.py3-none-any.whl#sha256=ccaf834e5e015452fa637781c0125c24458dc66eb7af2db88a6d3cba1c42f6e0 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a7

    Found link https://files.pythonhosted.org/packages/1b/47/3f770be8226e0e34d40dbe42e19076c793194ea936163c9fb1c79e9510f5/poetry-core-1.0.0a8.tar.gz#sha256=02237e5abaa4fda4ef865cc49111a3f8a7999cfb149b30d5e93f85c3acdc4d95 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a8

    Found link https://files.pythonhosted.org/packages/43/68/084aa9085f903b19ea85f1993035998cb78ebdb244648a097b39b6c37755/poetry_core-1.0.0a8-py2.py3-none-any.whl#sha256=d7d9e702fbae06c05abb1ada63678e940d746b2696f4601b951b27ac7c2c5337 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a8

    Found link https://files.pythonhosted.org/packages/90/cd/b65ab6b3a3a44a474f43a7906f31a1b159ffa63bebd7125ed1f91c06c5e4/poetry-core-1.0.0a9.tar.gz#sha256=f08e9829fd06609ca5615faa91739b589eb71e025a6aaf7ddffb698676eb7c8c (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a9

    Found link https://files.pythonhosted.org/packages/6f/d3/dd3d7c608d495b3f2a5f0dd40c2901e6c1d6aceba6e3f3131147f9259b3e/poetry_core-1.0.0a9-py2.py3-none-any.whl#sha256=79a63629ae44533ba9aa828e0eff0002c61b3af5fc9bec212e006cc643f4eb19 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0a9

    Found link https://files.pythonhosted.org/packages/dc/c9/d0a648ca07e20810d889f33d0ea3ddc7ef610f42510305dc484a00425ed0/poetry-core-1.0.0b1.tar.gz#sha256=c7a64770780f6a4998eee1e260fc3b7e22fa1c9b94b05c0faa13aa512f95eaa1 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0b1

    Found link https://files.pythonhosted.org/packages/db/81/6447beb70ca2ab3274046b1276b6301782392cd39e0e946dc4d08f7f8c3b/poetry_core-1.0.0b1-py2.py3-none-any.whl#sha256=92d2a33c27c733e746425c6506fdf583909e3ce5de4591deb23a4efb13f1a72c (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0b1

    Found link https://files.pythonhosted.org/packages/90/2c/b440db634995f35cf7430b6a6c030ac629858e7620edb28992e89a08ec53/poetry-core-1.0.0rc1.tar.gz#sha256=aad65fe96586f741afe582590912ad8e82823671c46c2550a8f9dc74cd4f769d (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0rc1

    Found link https://files.pythonhosted.org/packages/5a/98/47251b64c62f949ece8f5e6b6086a4cc591df364ca2fdbc80d96e7b7b271/poetry_core-1.0.0rc1-py2.py3-none-any.whl#sha256=f63476c92d4d6205ea4fd28a9a9496a465ad15f573ce974dd3ef3a7807c4a919 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0rc1

    Found link https://files.pythonhosted.org/packages/10/dd/21b1c5e89504bfa746b58cdecaeae3cf423f438f690706b3ea3a68f562bf/poetry-core-1.0.0rc2.tar.gz#sha256=abbe4059433e6d51aff024986b19919319e084592203f17e5354e7c0a7dee6f4 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0rc2

    Found link https://files.pythonhosted.org/packages/32/67/9906f8cd22b09d17aa1d5998e7284ecb4099a7886734d65febf4561538df/poetry_core-1.0.0rc2-py2.py3-none-any.whl#sha256=f536d59ee0be81f7c689a1a30e9894cb24abeb23f4ff4e2130583fca9863272d (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0rc2

    Found link https://files.pythonhosted.org/packages/a0/90/93840d54683cd7f407fc83cb5a998e4d758cf53b879e59689db292785a7c/poetry-core-1.0.0rc3.tar.gz#sha256=0e3d23a4c5acc14c5f1703b12645692bf24461c8c8e3fff32ca80a5462beccdf (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0rc3

    Found link https://files.pythonhosted.org/packages/89/ef/5170513520199fef278f3dfe110f1ddb6607103453c7f1db2543dbc4f9d8/poetry_core-1.0.0rc3-py2.py3-none-any.whl#sha256=2c9ee2b3f7b40047bafdc2239fbb9de73637edc07a9697a3a66ac15fe6b040f5 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0rc3

    Found link https://files.pythonhosted.org/packages/42/21/5335c7eceff3dccb3b415018bb17db0c442b599f610fd5712021d5f9403f/poetry-core-1.0.0.tar.gz#sha256=6a664ff389b9f45382536f8fa1611a0cb4d2de7c5a5c885db1f0c600cd11fbd5 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0

    Found link https://files.pythonhosted.org/packages/4f/c1/2222bcb8040b32c2119bb70ac59711fd916f6f029d598439a2fecaab9b55/poetry_core-1.0.0-py2.py3-none-any.whl#sha256=769288e0e1b88dfcceb3185728f0b7388b26d5f93d6c22d2dcae372da51d200d (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.0

    Found link https://files.pythonhosted.org/packages/26/b8/8156fb0992cc8cbde9d3ad74c467aa8ab454a7fc6a34f701255b57c7b5da/poetry-core-1.0.1.tar.gz#sha256=a54bbb12c445b266eee0faf5d38f09dae9860cffa32ad7d99c7b345c94fb6f7b (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.1

    Found link https://files.pythonhosted.org/packages/ba/21/4b0a3fa8f42518c885955c924dcca6eeb7b8ebbc30b71c5ff00b0abe090b/poetry_core-1.0.1-py2.py3-none-any.whl#sha256=94db888849966730a12111a2530548b01b0c22720b69d5561648af8de6a3ea5f (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.1

    Found link https://files.pythonhosted.org/packages/d7/5a/58944c8905bb2519ae58cfab0a663fdfd88c692a6bdc51cc99416cd2f9e8/poetry-core-1.0.2.tar.gz#sha256=ff505d656a6cf40ffbf84393d8b5bf37b78523a15def3ac473b6fad74261ee71 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.2

    Found link https://files.pythonhosted.org/packages/a0/56/d7923fb39395c662bab9e6044e290458a77204ea3cafc3b1ea88e27b8f4c/poetry_core-1.0.2-py2.py3-none-any.whl#sha256=ee0ed4164440eeab27d1b01bc7b9b3afdc3124f68d4ea28d0821a402a9c7c044 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.2

    Found link https://files.pythonhosted.org/packages/d0/b3/1017f2f6d801f1e3e4ffee3f058a10d20df1a9560aba9c5b49e92cdd9912/poetry-core-1.0.3.tar.gz#sha256=2315c928249fc3207801a81868b64c66273077b26c8d8da465dccf8f488c90c5 (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.3

    Found link https://files.pythonhosted.org/packages/bf/e1/08c7478df1e93dea47b06c9d9a80dbb54af7421462e1b22c280d063df807/poetry_core-1.0.3-py2.py3-none-any.whl#sha256=c6bde46251112de8384013e1ab8d66e7323d2c75172f80220aba2bc07e208e9a (from https://pypi.org/simple/poetry-core/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*), version: 1.0.3

    Found link https://files.pythonhosted.org/packages/5a/32/90805a7927d4d3c64a03e37e71e4086b35528ab0941ca0dd772149f54308/poetry-core-1.1.0a1.tar.gz#sha256=e73d8728904a05318a972315b0c68f53e5cf5314f540f57c232cc92acc699934 (from https://pypi.org/simple/poetry-core/) (requires-python:>=3.6,<4.0), version: 1.1.0a1

    Found link https://files.pythonhosted.org/packages/c0/1d/84f368958a065ed0825daf05ee68bab2e8c33c27a5d837aaf0af7863908c/poetry_core-1.1.0a1-py3-none-any.whl#sha256=eb1630413dece7c7b385c61a3d1bffaae9fc9f80075479ef5adb5afb49a1877f (from https://pypi.org/simple/poetry-core/) (requires-python:>=3.6,<4.0), version: 1.1.0a1

    Found link https://files.pythonhosted.org/packages/3a/8a/45f9bdaabcebb3a92320457d67d123ca8c81812da3c473e0c52280ad7db1/poetry-core-1.1.0a2.tar.gz#sha256=f9c95c06aee80c3f9251cc7d1005f9bcc2adc8a81296474b373432973e1e6fef (from https://pypi.org/simple/poetry-core/) (requires-python:>=3.6,<4.0), version: 1.1.0a2

    Found link https://files.pythonhosted.org/packages/c5/00/826928996815d97ff75aef4ad3ac45b86b9c7d0f2079e5281b909fab00f4/poetry_core-1.1.0a2-py3-none-any.whl#sha256=60e11977e8d767e575683ffb17c42eac8fdc45e262480e80010e8d37d879f286 (from https://pypi.org/simple/poetry-core/) (requires-python:>=3.6,<4.0), version: 1.1.0a2

    Found link https://files.pythonhosted.org/packages/53/bf/e464e2a6b8e7688a964a76bdaa800ba32d8f2c9226de036720e1fbd67532/poetry-core-1.1.0a3.tar.gz#sha256=579f35c98b0cdbc4e0fd2f7172de7deca74849a2ccfef05bf1df71d3855aa421 (from https://pypi.org/simple/poetry-core/) (requires-python:>=3.6,<4.0), version: 1.1.0a3

    Found link https://files.pythonhosted.org/packages/5c/c7/4fca8817212797f1b6426e0d2c68eef4a616787ea8e92964a233ad180aee/poetry_core-1.1.0a3-py3-none-any.whl#sha256=406da64d43dc0b954a1f446f8ec1b7f21e02cb8307542e8c366fa184a86f5c2e (from https://pypi.org/simple/poetry-core/) (requires-python:>=3.6,<4.0), version: 1.1.0a3

  Skipping link: not a file: https://pypi.org/simple/poetry-core/

  Given no hashes to check 8 links for project 'poetry-core': discarding no candidates

  Collecting poetry-core>=1.0.0

    Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-unpack-fn2i8j09

    Looking up "https://files.pythonhosted.org/packages/bf/e1/08c7478df1e93dea47b06c9d9a80dbb54af7421462e1b22c280d063df807/poetry_core-1.0.3-py2.py3-none-any.whl" in the cache

    Current age based on date: 775155

    Ignoring unknown cache-control directive: immutable

    Freshness lifetime from max-age: 365000000

    The response is "fresh", returning cached response

    365000000 > 775155

    Using cached poetry_core-1.0.3-py2.py3-none-any.whl (424 kB)

    Added poetry-core>=1.0.0 from https://files.pythonhosted.org/packages/bf/e1/08c7478df1e93dea47b06c9d9a80dbb54af7421462e1b22c280d063df807/poetry_core-1.0.3-py2.py3-none-any.whl#sha256=c6bde46251112de8384013e1ab8d66e7323d2c75172f80220aba2bc07e208e9a to build tracker '/private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4'

    Removed poetry-core>=1.0.0 from https://files.pythonhosted.org/packages/bf/e1/08c7478df1e93dea47b06c9d9a80dbb54af7421462e1b22c280d063df807/poetry_core-1.0.3-py2.py3-none-any.whl#sha256=c6bde46251112de8384013e1ab8d66e7323d2c75172f80220aba2bc07e208e9a from build tracker '/private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4'

  1 location(s) to search for versions of toml:

  * https://pypi.org/simple/toml/

  Fetching project page and analyzing links: https://pypi.org/simple/toml/

  Getting page https://pypi.org/simple/toml/

  Found index url https://pypi.org/simple

  Looking up "https://pypi.org/simple/toml/" in the cache

  Request header has "max_age" as 0, cache bypassed

  https://pypi.org:443 "GET /simple/toml/ HTTP/1.1" 304 0

    Found link https://files.pythonhosted.org/packages/11/79/d88a538950184342693ed829db6a59999513eade0706a26f4bf6f76122fa/toml-0.6.0.tar.gz#sha256=0103cd3598cac83f5c4eb281c1e3381aec214776b8c719a373c7d07f52c18d9b (from https://pypi.org/simple/toml/), version: 0.6.0

    Found link https://files.pythonhosted.org/packages/69/a4/f7d29d4cb673a6c18486802f84d287d48cdd2af810d6df4211194967aa20/toml-0.6.5.tar.gz#sha256=e4d9f53755b2bdeab220b455b6654ba1080f2eee3dc3ab9adf245762c3de9f2b (from https://pypi.org/simple/toml/), version: 0.6.5

    Found link https://files.pythonhosted.org/packages/9d/79/457a4f0212935884ac2b5632d88f69a0123825fae5a1da42119f6bc5649a/toml-0.7.0.tar.gz#sha256=58bf09e991d5474191420d206b72fa6f50ac5503269c5bd936123e4b545342f2 (from https://pypi.org/simple/toml/), version: 0.7.0

    Found link https://files.pythonhosted.org/packages/a2/98/a1b3df99dfe03b7a9cf9ccfd8fb53957cb882c5d25110f9852cb119a92d9/toml-0.7.1.tar.gz#sha256=53dd619be5a027e9c8510dd492113f643df1cccc13188a8698914e51720a1a89 (from https://pypi.org/simple/toml/), version: 0.7.1

    Found link https://files.pythonhosted.org/packages/72/e4/c69b62ee516758aff09aee08bbbef965b6b94bc10a1cf11f05f8d36a3b4c/toml-0.8.0.tar.gz#sha256=24250090512f1295d75f3db558ba26130b56b7dec7d30abbfc3bbde89a67825d (from https://pypi.org/simple/toml/), version: 0.8.0

    Found link https://files.pythonhosted.org/packages/ea/b9/caf57d47c401a37a538b5d27660391b763425d888261af2441c2432fb6be/toml-0.8.1.tar.gz#sha256=b9fa91d6fa70958c47905be17750283692c95ef06fac52671229c461b49d503d (from https://pypi.org/simple/toml/), version: 0.8.1

    Found link https://files.pythonhosted.org/packages/92/f4/559c5dfe5755c5730ba18cb8c8f06c49789d9e1880219f9565b6f1352acf/toml-0.8.2.tar.gz#sha256=1260e1b94ca934ab48229720a88ce71910c886e136e209b8d76a83528c56e499 (from https://pypi.org/simple/toml/), version: 0.8.2

    Found link https://files.pythonhosted.org/packages/0c/d4/48756e8b47c7638695646de87529ea7d6feba132b741a8970a17eeeebeed/toml-0.9.0.tar.gz#sha256=d803e90b790ca561ae08f77c7b728ca11185d646c769d09d965879c129ef0dee (from https://pypi.org/simple/toml/), version: 0.9.0

    Found link https://files.pythonhosted.org/packages/5c/44/23bda89772ea8da0c4561637b6694abd1d21805e107bc324e66f4b54cdb3/toml-0.9.1.tar.gz#sha256=e835834f1de5c60657e588a4cc48544945e03569a3d9f8b489436abb987840cf (from https://pypi.org/simple/toml/), version: 0.9.1

    Found link https://files.pythonhosted.org/packages/5c/b2/8a18ced00a43f2cc5261f9ac9f1c94621251400a80db1567177719355177/toml-0.9.2.tar.gz#sha256=b3953bffe848ad9a6d554114d82f2dcb3e23945e90b4d9addc9956f37f336594 (from https://pypi.org/simple/toml/), version: 0.9.2

    Found link https://files.pythonhosted.org/packages/af/06/edd820aa8a04ba82354a841af00aa28dcde391a7759a1e34579bb33d63bf/toml-0.9.3.1.tar.gz#sha256=e1e8c220046889234df5ec688d6f97b734fc4a08a6d8edfc176f4e6abf90cfb5 (from https://pypi.org/simple/toml/), version: 0.9.3.1

    Found link https://files.pythonhosted.org/packages/f5/f9/044110c267e6408013b85166a7cfcd352cf85275aa8ce700aa5c0eb407ba/toml-0.9.4.tar.gz#sha256=8e86bd6ce8cc11b9620cb637466453d94f5d57ad86f17e98a98d1f73e3baab2d (from https://pypi.org/simple/toml/), version: 0.9.4

    Found link https://files.pythonhosted.org/packages/c7/19/76c3cb84949a0593767b32b9be83a604d8a68c3580ff5d0ee64856b39ade/toml-0.9.6-py2.py3-none-any.whl#sha256=a7901919d3e4f92ffba7ff40a9d697e35bbbc8a8049fe8da742f34c83606d957 (from https://pypi.org/simple/toml/), version: 0.9.6

    Found link https://files.pythonhosted.org/packages/0e/e8/1aa958599e5326b690a31334112da68a9b75e7563879e2c5103ca219d30a/toml-0.9.6.tar.gz#sha256=380178cde50a6a79f9d2cf6f42a62a5174febe5eea4126fe4038785f1d888d42 (from https://pypi.org/simple/toml/), version: 0.9.6

    Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/07/33/ccf5b4258d599e66fb6a4a4d0d10d4ee24cefd201f1a269c0321ce9a9ca9/toml-0.10.0-py2.7.egg#sha256=f1db651f9657708513243e61e6cc67d101a39bad662eaa9b5546f789338e07a3 (from https://pypi.org/simple/toml/)

    Found link https://files.pythonhosted.org/packages/a2/12/ced7105d2de62fa7c8fb5fce92cc4ce66b57c95fb875e9318dba7f8c5db0/toml-0.10.0-py2.py3-none-any.whl#sha256=235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e (from https://pypi.org/simple/toml/), version: 0.10.0

    Found link https://files.pythonhosted.org/packages/b9/19/5cbd78eac8b1783671c40e34bb0fa83133a06d340a38b55c645076d40094/toml-0.10.0.tar.gz#sha256=229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c (from https://pypi.org/simple/toml/), version: 0.10.0

    Found link https://files.pythonhosted.org/packages/9f/e1/1b40b80f2e1663a6b9f497123c11d7d988c0919abbf3c3f2688e448c5363/toml-0.10.1-py2.py3-none-any.whl#sha256=bda89d5935c2eac546d648028b9901107a595863cb36bae0c73ac804a9b4ce88 (from https://pypi.org/simple/toml/), version: 0.10.1

    Found link https://files.pythonhosted.org/packages/da/24/84d5c108e818ca294efe7c1ce237b42118643ce58a14d2462b3b2e3800d5/toml-0.10.1.tar.gz#sha256=926b612be1e5ce0634a2ca03470f95169cf16f939018233a670519cb4ac58b0f (from https://pypi.org/simple/toml/), version: 0.10.1

    Found link https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl#sha256=806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b (from https://pypi.org/simple/toml/) (requires-python:>=2.6, !=3.0.*, !=3.1.*, !=3.2.*), version: 0.10.2

    Found link https://files.pythonhosted.org/packages/be/ba/1f744cdc819428fc6b5084ec34d9b30660f6f9daaf70eead706e3203ec3c/toml-0.10.2.tar.gz#sha256=b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f (from https://pypi.org/simple/toml/) (requires-python:>=2.6, !=3.0.*, !=3.1.*, !=3.2.*), version: 0.10.2

  Skipping link: not a file: https://pypi.org/simple/toml/

  Given no hashes to check 20 links for project 'toml': discarding no candidates

  Collecting toml

    Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-unpack-ltixwryu

    Looking up "https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl" in the cache

    Current age based on date: 10284827

    Ignoring unknown cache-control directive: immutable

    Freshness lifetime from max-age: 365000000

    The response is "fresh", returning cached response

    365000000 > 10284827

    Using cached toml-0.10.2-py2.py3-none-any.whl (16 kB)

    Added toml from https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl#sha256=806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b to build tracker '/private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4'

    Removed toml from https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl#sha256=806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b from build tracker '/private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4'

  Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-unpack-fd4oj5kp

  Installing collected packages: toml, poetry-core





  WARNING: Value for scheme.headers does not match. Please report this to <https://github.com/pypa/pip/issues/9617>

  distutils: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-build-env-p4ufcs_0/overlay/include/python3.9/UNKNOWN

  sysconfig: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-build-env-p4ufcs_0/overlay/include/python3.9

  WARNING: Additional context:

  user = False

  home = None

  root = None

  prefix = '/private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-build-env-p4ufcs_0/overlay'

  Successfully installed poetry-core-1.0.3 toml-0.10.2

  Removed build tracker: '/private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4'

  Installing build dependencies ... done

  Running command /Library/Frameworks/Python.framework/Versions/3.9/bin/python3 /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/tmp0xlywr_8

  Getting requirements to build wheel ... done

    Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-modern-metadata-t6u0ndc0

    Running command /Library/Frameworks/Python.framework/Versions/3.9/bin/python3 /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/tmp34_4sd9w

    Preparing wheel metadata ... done

  Source in /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-build-1l34pck3 has version 0.7.0a0, which satisfies requirement steamio==0.7.0a0 from git+https://github.com/Gobot1234/steam.py.git

  Removed steamio==0.7.0a0 from git+https://github.com/Gobot1234/steam.py.git from build tracker '/private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4'

Requirement already satisfied: betterproto==2.0.0b3 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from steamio==0.7.0a0) (2.0.0b3)

Requirement already satisfied: aiohttp<3.8.0,>=3.7.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from steamio==0.7.0a0) (3.7.3)

Requirement already satisfied: rsa>=4.6 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from steamio==0.7.0a0) (4.6)

Requirement already satisfied: beautifulsoup4>=4.9.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from steamio==0.7.0a0) (4.9.3)

Requirement already satisfied: typing-extensions==3.7.4.3 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from steamio==0.7.0a0) (3.7.4.3)

Requirement already satisfied: grpclib<0.5.0,>=0.4.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from betterproto==2.0.0b3->steamio==0.7.0a0) (0.4.1)

Requirement already satisfied: python-dateutil<3.0,>=2.8 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from betterproto==2.0.0b3->steamio==0.7.0a0) (2.8.1)

Requirement already satisfied: yarl<2.0,>=1.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from aiohttp<3.8.0,>=3.7.0->steamio==0.7.0a0) (1.6.3)

Requirement already satisfied: attrs>=17.3.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from aiohttp<3.8.0,>=3.7.0->steamio==0.7.0a0) (20.3.0)

Requirement already satisfied: async-timeout<4.0,>=3.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from aiohttp<3.8.0,>=3.7.0->steamio==0.7.0a0) (3.0.1)

Requirement already satisfied: chardet<4.0,>=2.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from aiohttp<3.8.0,>=3.7.0->steamio==0.7.0a0) (3.0.4)

Requirement already satisfied: multidict<7.0,>=4.5 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from aiohttp<3.8.0,>=3.7.0->steamio==0.7.0a0) (5.1.0)

Requirement already satisfied: soupsieve>1.2 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from beautifulsoup4>=4.9.1->steamio==0.7.0a0) (2.1)

Requirement already satisfied: h2<5,>=3.1.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from grpclib<0.5.0,>=0.4.1->betterproto==2.0.0b3->steamio==0.7.0a0) (4.0.0)

Requirement already satisfied: hyperframe<7,>=6.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from h2<5,>=3.1.0->grpclib<0.5.0,>=0.4.1->betterproto==2.0.0b3->steamio==0.7.0a0) (6.0.0)

Requirement already satisfied: hpack<5,>=4.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from h2<5,>=3.1.0->grpclib<0.5.0,>=0.4.1->betterproto==2.0.0b3->steamio==0.7.0a0) (4.0.0)

Requirement already satisfied: six>=1.5 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from python-dateutil<3.0,>=2.8->betterproto==2.0.0b3->steamio==0.7.0a0) (1.15.0)

Requirement already satisfied: pyasn1>=0.1.3 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from rsa>=4.6->steamio==0.7.0a0) (0.4.8)

Requirement already satisfied: idna>=2.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from yarl<2.0,>=1.0->aiohttp<3.8.0,>=3.7.0->steamio==0.7.0a0) (2.10)

Created temporary directory: /private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-unpack-y0qh6n9t

WARNING: Value for scheme.headers does not match. Please report this to <https://github.com/pypa/pip/issues/9617>

distutils: /Library/Frameworks/Python.framework/Versions/3.9/include/python3.9/UNKNOWN

sysconfig: /Library/Frameworks/Python.framework/Versions/3.9/include/python3.9

WARNING: Additional context:

user = False

home = None

root = None

prefix = None

Removed build tracker: '/private/var/folders/bd/p72x03b96rgczw4hyt2hhsyw0000gn/T/pip-req-tracker-5seuazu4'

>>> import steam

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

"/steam.py/steam/__init__.py", line 11, in <module>

    from .__metadata__ import *

ModuleNotFoundError: No module named 'steam.__metadata__'

The issue has been resolved I don't think the build function was being ran, just the module.

@LECbg
Copy link

LECbg commented Jun 14, 2021

@Gobot1234, it seems it behaves differently for each distribution format: for sdist the build method gets called and for wheel the module gets called. Also, for sdist, the file is only taken into account if generate-setup-file is True (here is the call), and on the other hand, while building wheel, the module is run when generate-setup-file is False but the build method gets called when generate-setup-file is True (as SdistBuilder is used).

I'm not sure I'm right though, maybe @abn or any other member could confirm this?

@medley56
Copy link

It sounds like there are some design decisions to be made around this (e.g. how much to automate vs how much responsibility to put on the build.py script) but it seems like a really crucial feature to support building extensions both during poetry install and poetry build in a consistent and documented way. I vote to prioritize this. I'm currently evangelizing poetry within my organization but it will be a hard sell without a supported way to build extensions.

@albireox
Copy link

I can say that from my point of view the current the build system works well and it covers all my needs. I've been using it extensively on my projects without issues. I'm sure that there are things that could be improved but the main issue seems to be that this feature is not documented at all, which I don't understand since it seems to work quite robustly. To me that would be the main priority.

Once 1.2 is out and supports editable installs, another thing that seems important is to make sure that editable installs of poetry projects also support the build system.

@medley56
Copy link

@albireox I agree. As far as I can tell, the current system using build.py seems to work just fine. However, I am not an expert python package distributor and there might be details that I'm not aware of, like supporting various build types consistently (mentioned above by @LECbg). And yes, we need documentation. Also, just the phrasing of @abn 's comment from 2020 indicates that this is explicitly not supported. Before people will use it widely, that needs to change.

@rdbisme
Copy link

rdbisme commented Feb 18, 2022

Just a note. If using script named build.py and building the wheel using build package, i.e. python -m build, if a build.py script is present, you get collision with the local build.py.

@medley56
Copy link

medley56 commented Mar 2, 2022

Does anyone have an example of a build.py script that doesn't rely on the (deprecated, soon to be removed) distutils package? e.g. a replacement for the example given by @albireox? I'd like to suggest adding such an example build script to the documentation.

@davidcortesortuno
Copy link

I'm using setuptools and cython, does this help? https://github.com/davidcortesortuno/poetry_cython_proj/blob/main/build.py

@albireox
Copy link

albireox commented Jun 5, 2023

With distutils being fully deprecated in 3.12 in a few months, as part of PEP 632, it would be useful to include specific documentation about how to use setuptools with Poetry or what's the recommended alternative.

Right now if you have a virtual environment managed by Poetry, with setuptools installed, and a build.py script that uses setuptools to build a C module, poetry install fails because it cannot import setuptools. I'm not sure if this happens because Poetry runs the installation in a different virtual environment.

Adding setuptools to build-system.requires seems to work, but it's unclear whether that's recommended, and issues like #6154 seems to indicate that the requires are not always honoured. In fact, if I have a version of setuptools in my environment and I add setuptools to requires, Poetry will insist in downgrading it for reasons that are not clear to me.

Regardless, it would be useful to have clear documentation about how to deal with PEP 632 before 3.12 arrives.

@r-barnes
Copy link

I, also, am having a bear of a time working with build.py to use PyBind11 in my scripts (my package contains both pure Python and PyBind11 code).

@alexchandel
Copy link

Regardless of stability, could you please provide an example of the current recommended use of build.py?

Documentation on the internet is scattered and contradictory, reflecting multiple patterns in various stages of deprecation.

@samhooke
Copy link

samhooke commented Aug 8, 2023

@alexchandel I can't say whether this is recommended, but as a full example, what worked for me was taking radoering's configuration and combining it with albireox's workaround for setuptools:

  1. Create a build.py with your code in:
def build(setup_kwargs):
    print("Put your build code here!")
  1. Delete your setup.py if you have one (else poetry will not be able to generate one for you).
  2. Update your pyproject.toml to configure poetry to generate a setup.py and call your build.py:
[tool.poetry.build]
script = "build.py"
generate-setup-file = true
  1. Update your pyproject.toml to add setuptools as a build-system dependency:
[build-system]
requires = ["poetry-core", "setuptools"]
  1. Then when you run poetry build it should print "Put your build code here!".

One caveat is that this will cause Poetry to generate a platform-specific wheel, e.g. my_package-1.2.3-cp310-cp310-manylinux_2_35_x86_64.whl rather than my_package-1.2.3-py3-none-any.whl. There are workarounds for this, but none are ideal. For more details I've put further notes here.

@smith120bh
Copy link

I just wanted to throw my hat in here on my use cases:
I maintain a couple of very engineering maths-heavy Python packages, and Cython is essential for those packages to have reasonable performance. I see poetry as being the best packaging system out there, and I'd like to switch to it - except that there currently does not seem to exist any stable way of compiling Cython in a poetry-managed package. That's a blocker to me. I've read all about the build.py mechanism that works right now, but as much as I'd like to, I'm not willing to depend upon undocumented, unstable features for core functionality on my packages. I'll keep this thread monitored though, and I hope this or some other solution will be stabilised at some point so that Cython can work reliably with Poetry!

@rdbisme
Copy link

rdbisme commented Oct 9, 2023

I just wanted to throw my hat in here on my use cases: I maintain a couple of very engineering maths-heavy Python packages, and Cython is essential for those packages to have reasonable performance. I see poetry as being the best packaging system out there, and I'd like to switch to it - except that there currently does not seem to exist any stable way of compiling Cython in a poetry-managed package. That's a blocker to me. I've read all about the build.py mechanism that works right now, but as much as I'd like to, I'm not willing to depend upon undocumented, unstable features for core functionality on my packages. I'll keep this thread monitored though, and I hope this or some other solution will be stabilised at some point so that Cython can work reliably with Poetry!

FWIW we've been using a build.py based Cython build on our package at work without problems for years now.

@adam2392
Copy link

Out of curiosity, does anyone have any experience using a meson/meson-python build backend and running it via the custom "build.py" route?

@carmenbianca
Copy link

Using the name build.py may break Arch Linux packaging: fsfe/reuse-tool#640

passionsfrucht pushed a commit to passionsfrucht/tool-libeep that referenced this issue May 14, 2024
passionsfrucht pushed a commit to passionsfrucht/tool-libeep that referenced this issue May 14, 2024
Try to init scaffolding according to a github commit:

python-poetry/poetry#2740 (comment)
passionsfrucht pushed a commit to passionsfrucht/tool-libeep that referenced this issue May 14, 2024
Try to init scaffolding according to a github commit:

python-poetry/poetry#2740 (comment)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/docs/faq Frequently duplicated/potential addition to FAQ
Projects
None yet
Development

No branches or pull requests