# Using Poetry

{% embed url="<https://python-poetry.org/>" %}

Poetry is a tool for **dependency management** and **packaging** in Python. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you.

### Initialize a new project

This command starts an interactive process to create a new `pyproject.toml` file. It guides you through defining your project's metadata, including name, version, description, author, license, and dependencies.

```bash
poetry init
```

### Install project dependencies

This command reads the `pyproject.toml` file in your project, resolves the dependencies, and installs them into a new virtual environment.&#x20;

If a `poetry.lock` file exists, it uses this to ensure reproducible installations across different environments.

```bash
poetry install
```

### Enter the virtual environment

This command spawns a new shell with the virtual environment activated. It allows you to run your project and its dependencies in an isolated environment, ensuring that you're using the correct versions of all packages.

```bash
poetry shell
```

### Deactivate the virtual environment

To exit the Poetry shell and deactivate the virtual environment, you can use:

```bash
exit
```
