Commit 9932e260 by Bartek Sokorski Committed by Bjorn Neergaard

Rework README.md file

parent 879761c3
# Poetry: Dependency Management for Python # Poetry: Dependency Management for Python
[![Tests Status](https://github.com/python-poetry/poetry/workflows/Tests/badge.svg?branch=master&event=push)](https://github.com/python-poetry/poetry/actions?query=workflow%3ATests+branch%3Amaster+event%3Apush)
[![Stable Version](https://img.shields.io/pypi/v/poetry?label=stable)](https://pypi.org/project/poetry/)
[![Pre-release Version](https://img.shields.io/github/v/release/python-poetry/poetry?label=pre-release&include_prereleases&sort=semver)](https://pypi.org/project/poetry/#history)
[![Downloads](https://img.shields.io/pypi/dm/poetry)](https://pypistats.org/packages/poetry)
[![Discord](https://img.shields.io/discord/487711540787675139?logo=discord)](https://discord.com/invite/awxPgve)
Poetry helps you declare, manage and install dependencies of Python projects, Poetry helps you declare, manage and install dependencies of Python projects,
ensuring you have the right stack everywhere. ensuring you have the right stack everywhere.
![Poetry Install](https://raw.githubusercontent.com/python-poetry/poetry/master/assets/install.gif) It requires Python 3.7+ to run.
It supports Python 3.7+.
![Poetry Install](https://raw.githubusercontent.com/python-poetry/poetry/master/assets/install.gif)
[![Tests Status](https://github.com/python-poetry/poetry/workflows/Tests/badge.svg?branch=master&event=push)](https://github.com/python-poetry/poetry/actions?query=workflow%3ATests+branch%3Amaster+event%3Apush) ## Documentation
[![Stable Version](https://img.shields.io/pypi/v/poetry?label=stable)](https://pypi.org/project/poetry/)
[![Pre-release Version](https://img.shields.io/github/v/release/python-poetry/poetry?label=alpha&include_prereleases&sort=semver)](https://pypi.org/project/poetry/#history)
[![Downloads](https://img.shields.io/pypi/dm/poetry)](https://pypistats.org/packages/poetry)
[![Discord](https://img.shields.io/discord/487711540787675139?logo=discord)](https://discord.com/invite/awxPgve)
The [complete documentation](https://python-poetry.org/docs/) is available on the [official website](https://python-poetry.org). The [complete documentation](https://python-poetry.org/docs/) is available on the [official website](https://python-poetry.org).
...@@ -27,7 +28,7 @@ information on how to enable tab completion in your environment. ...@@ -27,7 +28,7 @@ information on how to enable tab completion in your environment.
`poetry` is a tool to handle dependency installation as well as building and packaging of Python packages. `poetry` is a tool to handle dependency installation as well as building and packaging of Python packages.
It only needs one file to do all of that: the new, [standardized](https://www.python.org/dev/peps/pep-0518/) `pyproject.toml`. It only needs one file to do all of that: the new, [standardized](https://www.python.org/dev/peps/pep-0518/) `pyproject.toml`.
In other words, poetry uses `pyproject.toml` to replace `setup.py`, `requirements.txt`, `setup.cfg`, `MANIFEST.in` and the newly added `Pipfile`. In other words, poetry uses `pyproject.toml` to replace `setup.py`, `requirements.txt`, `setup.cfg`, `MANIFEST.in` and `Pipfile`.
```toml ```toml
[tool.poetry] [tool.poetry]
...@@ -41,29 +42,29 @@ authors = [ ...@@ -41,29 +42,29 @@ authors = [
"Sébastien Eustace <sebastien@eustace.io>" "Sébastien Eustace <sebastien@eustace.io>"
] ]
readme = "README.md" # Markdown files are supported readme = "README.md"
repository = "https://github.com/python-poetry/poetry" repository = "https://github.com/python-poetry/poetry"
homepage = "https://github.com/python-poetry/poetry" homepage = "https://python-poetry.org"
keywords = ["packaging", "poetry"] keywords = ["packaging", "poetry"]
[tool.poetry.dependencies] [tool.poetry.dependencies]
python = "~2.7 || ^3.2" # Compatible python versions must be declared here python = "^3.8" # Compatible python versions must be declared here
toml = "^0.9" aiohttp = "^3.8.1"
# Dependencies with extras # Dependencies with extras
requests = { version = "^2.13", extras = [ "security" ] } requests = { version = "^2.28", extras = [ "security" ] }
# Python specific dependencies with prereleases allowed # Python specific dependencies with prereleases allowed
pathlib2 = { version = "^2.2", python = "~2.7", allow-prereleases = true } tomli = { version = "^2.0.1", python = "<3.11", allow-prereleases = true }
# Git dependencies # Git dependencies
cleo = { git = "https://github.com/sdispater/cleo.git", branch = "master" } cleo = { git = "https://github.com/python-poetry/cleo.git", branch = "master" }
# Optional dependencies (extras) # Optional dependencies (extras)
pendulum = { version = "^1.4", optional = true } pendulum = { version = "^2.1.2", optional = true }
[tool.poetry.dev-dependencies] [tool.poetry.dev-dependencies]
pytest = "^3.0" pytest = "^7.1.2"
pytest-cov = "^2.4" pytest-cov = "^3.0"
[tool.poetry.scripts] [tool.poetry.scripts]
my-script = "my_package:main" my-script = "my_package:main"
...@@ -87,7 +88,7 @@ So, `poetry` can be installed globally and used everywhere. ...@@ -87,7 +88,7 @@ So, `poetry` can be installed globally and used everywhere.
Packaging systems and dependency management in Python are rather convoluted and hard to understand for newcomers. Packaging systems and dependency management in Python are rather convoluted and hard to understand for newcomers.
Even for seasoned developers it might be cumbersome at times to create all files needed in a Python project: `setup.py`, Even for seasoned developers it might be cumbersome at times to create all files needed in a Python project: `setup.py`,
`requirements.txt`, `setup.cfg`, `MANIFEST.in` and the newly added `Pipfile`. `requirements.txt`, `setup.cfg`, `MANIFEST.in` and `Pipfile`.
So I wanted a tool that would limit everything to a single configuration file to do: So I wanted a tool that would limit everything to a single configuration file to do:
dependency management, packaging and publishing. dependency management, packaging and publishing.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment