Introduction to Poetry
Poetry is a powerful and flexible dependency management and packaging tool for Python. Whether you are developing a small package or a large application, Poetry provides a streamlined, user-friendly experience to manage dependencies, publish packages, and maintain compatibility across different Python versions.
Installation
$ curl -sSL https://install.python-poetry.org | python3 -
Creating a New Project
$ poetry new my-project
This command creates a new directory called my-project
with the basic structure for a Python package.
Adding Dependencies
$ cd my-project $ poetry add requests
You can also specify a version:
$ poetry add requests@^2.25.1
Installing Dependencies
$ poetry install
This installs all dependencies specified in the pyproject.toml
file.
Building the Package
$ poetry build
This creates distribution files in the dist
directory, which can be used to distribute your package.
Publishing the Package
$ poetry publish --repository pypi
You need to have an account on PyPI and have your PYPI_USERNAME
and PYPI_PASSWORD
set in your environment variables.
Running Scripts
$ poetry run python my_script.py
This ensures that the script runs with the virtualenv created by Poetry, ensuring all dependencies are available to the script.
Using a Specific Python Version
$ poetry env use /path/to/python
This command allows you to specify a Python interpreter for your virtual environment.
App Example Using Introduced APIs
Here’s a simple Flask application managed using Poetry:
Project Setup
$ poetry new flask-app $ cd flask-app $ poetry add flask
Creating the Flask App
# flask_app.py from flask import Flask, jsonify app = Flask(__name__) @app.route('/') def home(): return jsonify({'message': 'Hello, World!'}) if __name__ == '__main__': app.run(debug=True)
Running the App
$ poetry run python flask_app.py
Visit http://127.0.0.1:5000/
to see Hello, World!
message.
Now you have a fully functional Flask application managed by Poetry!
Hash: 81c320ebd209ddddf590e3dd7a339709e27feeed8e544f56699e40d627423a2d