# Technical Documentation: plotly/python

> ℹ️ **Provenance:** Multi-Tier Ingestion · [CodeWiki Reference](https://codewiki.google/github.com/plotly/python)

### Overview (`README.md`)

# Python Paketo Buildpack

## `gcr.io/paketo-buildpacks/python`

The Python Paketo Buildpack provides a set of collaborating buildpacks to build a Python-based application
These buildpacks include:
- [CPython CNB](https://github.com/paketo-buildpacks/cpython)
- [Pipenv CNB](https://github.com/paketo-buildpacks/pipenv)
- [Pipenv Install CNB](https://github.com/paketo-buildpacks/pipenv-install)
- [Pip CNB](https://github.com/paketo-buildpacks/pip)
- [Pip Install CNB](https://github.com/paketo-buildpacks/pip-install)
- [Miniconda CNB](https://github.com/paketo-buildpacks/miniconda)
- [Conda Env Update CNB](https://github.com/paketo-buildpacks/conda-env-update)
- [Poetry CNB](https://github.com/paketo-buildpacks/poetry)
- [Poetry Install CNB](https://github.com/paketo-buildpacks/poetry-install)
- [Poetry Run CNB](https://github.com/paketo-buildpacks/poetry-run)
- [Python Start CNB](https://github.com/paketo-buildpacks/python-start)

Additionally, the following utility buildpacks are included for all application types
- [CA Certificates CNB](https://github.com/paketo-buildpacks/ca-certificates)
- [Watchexec CNB](https://github.com/paketo-buildpacks/watchexec)
- [Procfile CNB](https://github.com/paketo-buildpacks/procfile)
- [Environment Variables CNB](https://github.com/paketo-buildpacks/environment-variables)
- [Image Labels CNB](https://github.com/paketo-buildpacks/image-labels)

The buildpack supports building simple Python applications or applications which
utilize either [Conda](https://conda.io),
[Pipenv](https://pypi.org/project/pipenv/) or [Pip](https://pip.pypa.io/) for
managing their dependencies.


[Pipenv](https://pypi.org/project/pipenv/),
[Pip](https://pip.pypa.io/),
or [Poetry](https://python-poetry.org/) for managing their dependencies.

## Build:

```
./scripts/package.sh --version 5.1.1 --output quay.io/plotly/paketo-buildpacks-python:5.1.1
```

Check out the [Python Paketo Buildpack docs](https://paketo.io/docs/howto/python/) for sample usage and more information.

#### The Python buildpack is compatible with the following builder(s):
- [Paketo Jammy Full Builder](https://github.com/paketo-buildpacks/builder-jammy-full)
- [Paketo Bionic Full Builder](https://github.com/paketo-buildpacks/full-builder)
- [Paketo Jammy Base Builder](https://github.com/paketo-buildpacks/builder-jammy-base)
- [Paketo Bionic Base Builder](https://github.com/paketo-buildpacks/base-builder)

---

### Overview (`.github/README.md`)

<div align="center">
  <a href="https://dash.plotly.com/project-maintenance">
    <img src="https://dash.plotly.com/assets/images/maintained-by-plotly.png" width="400px" alt="Maintained by Plotly">
  </a>
</div>

# Python Paketo Buildpack

A copy of the upstream README.md can be found here: [README.md](../README.md)

# Plotly Branches

- The `main-upstream` branch of this repository is used to sync in the `main` branch of the upstream as its source. It does not contain any custom Plotly code changes
- The `main` branch of this repository is used to be the most up to date branch containing custom Plotly code changes
- The `XY-release` branches of this repository are made off of the `main` branch as part of our code freeze process: [DE Release Guide](https://plotly.atlassian.net/wiki/x/doAbH)

# Plotly Release Flow

- All PRs (other than an upstream sync detailed below) should first land on `main`
- If a PR is needed for a given release, a new PR should be made against that release branch
- When needing to pull in upstream changes (typically done as a post-release task to stay up to date as needed):
  - Navigate the the [main-upstream](https://github.com/plotly/paketo-buildpacks_python/tree/main-upstream) branch
  - Select **Sync fork**
  - A PR should then be opened to add these changes to our `main` branch, favouring our custom work whenever there are conflicts

---

--- METRICS ---
- Files Extracted: 2
- Estimated Token Budget: ~971 tokens
- Canonical Reference: https://codewiki.google/github.com/plotly/python
