<!-- .slide: data-background="https://github.com/noirbizarre/slides-paris.py/raw/master/images/python.jpg" --> ![](https://raw.githubusercontent.com/pdm-project/pdm/main/docs/docs/assets/logo_big.png) --- Python project management done right <https://pdm.fming.dev/> --- <!-- .slide: data-background="https://github.com/noirbizarre/slides-paris.py/raw/master/images/python2.jpg" --> ## Features highlight ---- ### Fast dependency resolver Way faster than pip, Pipenv and poetry ---- ### Full PEP621 support `pyproject.toml [project]` section <!-- .element: class="fragment" --> `project.dependencies` <!-- .element: class="fragment" --> `project.optional-dependencies` <!-- .element: class="fragment" --> Any PEP621 compatible tool will work <!-- .element: class="fragment" --> ---- ### PNPM-like centralization central cache <!-- .element: class="fragment" --> link instead of copy <!-- .element: class="fragment" --> ---- ### Extensive scripting support classic inline commands (with or without shell) <!-- .element: class="fragment" --> Python snippets with `package.module:function` syntax <!-- .element: class="fragment" --> reuse scripts from others <!-- .element: class="fragment" --> composition <!-- .element: class="fragment" --> hooks <!-- .element: class="fragment" --> ---- ### Optional PEP582 support [you don't need a virtualenv](https://dev.to/frostming/you-don-t-really-need-a-virtualenv-4bae) <!-- .element: class="fragment" --> PEP582 is a draft <!-- .element: class="fragment" --> but multiple tools support it <!-- .element: class="fragment" --> ---- ### Miscellaneous and ecosystem Dedicated github action <!-- .element: class="fragment" --> pre-commit hooks <!-- .element: class="fragment" --> PDM plugins <!-- .element: class="fragment" --> IDE and tools integration <!-- .element: class="fragment" --> --- ## Comparison | | `setuptools` | `pipenv` | `poetry` | `PDM` | | ------- | ------------ | -------- | -------- | ----- | | PEP517 | โœ… | โŒ | โœ… | โœ… | | PEP621 | ๐Ÿงช | โŒ | โŒ | โœ… | | caching | โŒ | โŒ | โœ… | โœ… | | publication | ๐Ÿ”Œ | โŒ | โœ… | โœ… | | scripts | โŒ | ๐Ÿ”’ | ๐Ÿ”Œ | โœ… | | lockfile | โŒ | โœ… | โœ… | โœ… | ๐Ÿ”Œ: external | ๐Ÿงช: experimental | ๐Ÿ”’: limited --- <!-- .slide: data-background="https://github.com/noirbizarre/slides-paris.py/raw/master/images/python2.jpg" --> ## Questions ?
{"metaMigratedAt":"2023-06-17T14:00:39.373Z","metaMigratedFrom":"YAML","title":"PDM","breaks":true,"image":"https://www.python.org/static/community_logos/python-logo-master-v3-TM.png","slideOptions":"{\"theme\":\"moon\"}","contributors":"[{\"id\":\"ccb66f62-527e-4f67-aebf-99b8ba78ddd3\",\"add\":3590,\"del\":839}]"}
    243 views