Metadata-Version: 2.1
Name: poetry-core
Version: 1.0.7
Summary: Poetry PEP 517 Build Backend
Home-page: UNKNOWN
Author: Sébastien Eustace
Author-email: sebastien@eustace.io
License: MIT
Project-URL: homepage, https://github.com/python-poetry/poetry-core
Project-URL: repository, https://github.com/python-poetry/poetry-core
Keywords: packaging dependency poetry
Platform: UNKNOWN
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: !=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,<4.0,>=2.7
Provides-Extra: dev
License-File: LICENSE


Poetry Core
===========


.. image:: https://img.shields.io/pypi/v/poetry-core
   :target: https://pypi.org/project/poetry-core/
   :alt: PyPI version


.. image:: https://img.shields.io/pypi/pyversions/poetry-core
   :target: https://pypi.org/project/poetry-core/
   :alt: Python Versions


.. image:: https://img.shields.io/badge/License-MIT-yellow.svg
   :target: https://opensource.org/licenses/MIT
   :alt: License: MIT


.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
   :target: https://github.com/psf/black
   :alt: Code style: black


.. image:: https://github.com/python-poetry/poetry-core/workflows/Tests/badge.svg
   :target: https://github.com/python-poetry/poetry-core/actions?query=workflow%3ATests
   :alt: 


A `PEP 517 <https://www.python.org/dev/peps/pep-0517/>`_ build backend implementation developed for
`Poetry <https://github.com/python-poetry/poetry>`_. This project is intended to be a light weight, fully compliant,
self-contained package allowing PEP 517 compatible build frontends to build Poetry managed projects.

Usage
-----

In most cases, the usage of this package is transparent to the end-user as it is either made use by Poetry itself
or a PEP 517 frontend (eg: ``pip``\ ).

In order to enable the use ``poetry-core`` as your build backend, the following snippet must be present in your
project's ``pyproject.toml`` file.

.. code-block::

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

Once this is present, a PEP 517 frontend like ``pip`` can build and install your project from source without the need
for Poetry or any of it's dependencies.

.. code-block:: shell

   # install to current environment
   pip install /path/to/poetry/managed/project

   # build a wheel package
   pip wheel /path/to/poetry/managed/project

Why is this required?
---------------------

Prior to the release of version ``1.1.0``\ , Poetry was a build as a project management tool that included a PEP 517
build backend. This was inefficient and time consuming in majority cases a PEP 517 build was required. For example,
both ``pip`` and ``tox`` (with isolated builds) would install Poetry and all dependencies it required. Most of these
dependencies are not required when the objective is to simply build either a source or binary distribution of your
project.

In order to improve the above situation, ``poetry-core`` was created. Shared functionality pertaining to PEP 517 build
backends, including reading lock file, ``pyproject.toml`` and building wheel/sdist, were implemented in this package.  This
makes PEP 517 builds extremely fast for Poetry managed packages.


