Um framework de testes para Python que facilita a criação de testes simples e também dá conta de testes funcionais complexos para aplicações e bibliotecas.
- Estrelas
- 8,662
- Forks
- 501
- Issues abertas
- 48
- Último commit
- ontem
O que é?
PDM é um gerenciador de pacotes e dependências Python que lê os metadados do projeto de um arquivo pyproject.toml padrão e grava um lockfile para fixar as versões exatas das dependências. Ele pode criar e gerenciar ambientes virtuais no diretório do projeto ou em um local centralizado, de forma semelhante ao Pipenv, e também pode compilar wheels e distribuições de código-fonte e enviá-las ao PyPI, como o Poetry.
O PDM inclui um backend de build PEP 517 e não está vinculado a um único backend, então os projetos podem usar o backend que preferirem. A funcionalidade pode ser ampliada por meio de um sistema de plugins, e há suporte a scripts definidos pelo usuário. Ele também pode instalar interpretadores Python usando python-build-standalone e oferece um cache centralizado de instalações opcional.
O PDM tem opções experimentais para PEP 582 (instalação de pacotes em uma pasta __pypackages__ local, em vez de um venv) e para usar uv como instalador.
Recursos principais
- 01Resolvedor de dependências com suporte a lockfile por meio do pdm.lock
- 02Gerenciamento de ambientes virtuais no projeto ou em locais centralizados
- 03Suporte ao backend de build PEP 517 e aos metadados de projeto PEP 621
- 04Sistema de plugins e scripts de usuário personalizáveis
- 05Instalação de interpretadores Python por meio do python-build-standalone
- 06Cache centralizado de instalações opcional
Casos de uso
- Gerenciar dependências e ambientes virtuais de uma aplicação Python
- Compilar e publicar uma biblioteca Python no PyPI usando metadados padrão do pyproject.toml
- Migrar do Pipenv ou Poetry para um fluxo de trabalho baseado no PEP 621
Início rápido
- 1
Instalar o PDM com o script de instalação (Linux/Mac)
Instale seguindo as instruções oficiais do README - 2
Criar um novo projeto PDM
pdm new my-project - 3
Adicionar dependências ao projeto
pdm add requests flask
Antes de usar
- Requer Python 3.10 ou superior.
- As integrações com PEP 582 e uv estão marcadas como experimentais.
- uv não funciona com PEP 582.
Tópicos
Perguntas frequentes
- O que é pdm?
- Gerenciador moderno de pacotes e dependências Python que gerencia venvs, lockfiles e builds com base nos metadados PEP 621 e PEP 517. PDM é um gerenciador de pacotes e dependências Python que lê os metadados do projeto de um arquivo pyproject.toml padrão e grava um lockfile para fixar as versões exatas das dependências. Ele pode criar e gerenciar ambientes virtuais no diretório do projeto ou em um local centralizado, de forma semelhante ao Pipenv, e também pode compilar wheels e distribuições de código-fonte e enviá-las ao PyPI, como o Poetry.
- pdm é gratuito? Qual é a licença?
- pdm é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- pdm ainda é mantido?
- Manutenção ativa. O último commit de pdm foi em 19 de out. de 2026.
- Para que posso usar pdm?
- Gerenciar dependências e ambientes virtuais de uma aplicação Python Compilar e publicar uma biblioteca Python no PyPI usando metadados padrão do pyproject.toml Migrar do Pipenv ou Poetry para um fluxo de trabalho baseado no PEP 621
- Como instalar pdm?
- Instalar o PDM com o script de instalação (Linux/Mac) Criar um novo projeto PDM: pdm new my-project Adicionar dependências ao projeto: pdm add requests flask
- Onde consigo pdm?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/pdm-project/pdm
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Sistema open source de gestão de estoque com controle de materiais, rastreamento de peças, API REST e sistema de plugins, desenvolvido em Python e Django.
Rastreador de treinos, nutrição e peso corporal, open source e auto-hospedado, feito com Django, com REST API e apps móveis complementares.
Uma biblioteca cliente Python para Kubernetes com API inspirada no kubectl e interfaces síncrona e assíncronas (asyncio/trio).
Transforma um tema ou palavra-chave em um vídeo curto finalizado, gerando roteiro, narração, imagens, legendas e música automaticamente.
Apache Answer é uma plataforma de perguntas e respostas de código aberto para criar fóruns comunitários, centrais de ajuda e sites de gestão do conhecimento.