Gerenciador de pacotes e projetos para o ecossistema PyReact
Project description
PRPM
O package manager do ecossistema PyReact.
Crie projetos, instale dependências isoladas, trave versões e execute scripts com uma única ferramenta.
Por que PRPM?
Projetos PyReact são projetos Python. O PRPM aproveita esse ecossistema em vez de criar um registro incompatível:
- usa o
pyproject.tomlpadrão como manifesto; - resolve pacotes no PyPI (incluindo
pyreact-framework); - cria uma
.venvisolada automaticamente; - gera
prpm.lockcom as versões resolvidas; - oferece uma experiência familiar para quem usa npm;
- continua compatível com
pip, build backends e editores Python.
Instalação
Requer Python 3.9 ou mais recente.
python -m pip install git+https://github.com/wanbnn/prpm.git
Para desenvolver o próprio PRPM:
git clone https://github.com/wanbnn/prpm.git
cd prpm
python -m pip install -e ".[dev]"
Início rápido
Crie e prepare uma aplicação PyReact:
prpm create minha-app
cd minha-app
prpm run dev
O comando cria um dashboard SSR completo, estruturado em componentes PyReact,
instala pyreact-framework em .venv e grava o lockfile. O boilerplate inclui
servidor de desenvolvimento, API interativa, tema claro/escuro, build estático
e testes prontos.
Em um projeto existente, como o Agentic Flow:
git clone https://github.com/wanbnn/agenticflow.git
cd agenticflow
prpm install
prpm exec agentic-flow
O PRPM lê as dependências que já estão em [project].dependencies.
Comandos
| Comando | Descrição |
|---|---|
prpm create <nome> |
Cria e instala uma aplicação PyReact |
prpm init [-y] |
Inicializa um pyproject.toml |
prpm install / prpm i |
Resolve, instala e atualiza prpm.lock |
prpm install --frozen |
Instala exatamente o lockfile; ideal para CI |
prpm add <pacote> |
Instala e salva uma dependência |
prpm add -D <pacote> |
Instala e salva em dev |
prpm remove <pacote> |
Remove uma dependência |
prpm update [pacotes] |
Atualiza todas ou algumas dependências |
prpm list [--all] |
Lista dependências diretas ou todas |
prpm run [script] |
Lista ou executa scripts |
prpm exec <comando> |
Executa um binário dentro da .venv |
prpm test |
Atalho para o script test |
prpm info <pacote> |
Consulta metadados no PyPI |
prpm lock [--check] |
Gera ou verifica o lockfile |
prpm doctor |
Mostra o estado do ambiente |
Aliases disponíveis: i, rm, up e ls.
Dependências
Especificadores seguem o padrão Python:
prpm add httpx
prpm add "fastapi>=0.115,<1"
prpm add -D "pytest>=8"
prpm add "componente @ git+https://github.com/usuario/componente.git"
Quando nenhuma versão é informada, o PRPM salva a versão mínima resolvida, por
exemplo httpx>=0.28.1.
Scripts
Declare scripts no manifesto:
[tool.prpm.scripts]
dev = "pyreact dev"
build = "pyreact build"
test = "python -m pytest"
serve = ["python", "-m", "meu_app"]
Execute-os sem ativar manualmente a .venv:
prpm run build
prpm test -q
prpm exec python --version
Manifesto e lockfile
O manifesto continua sendo um pyproject.toml válido:
[project]
name = "minha-app"
version = "0.1.0"
requires-python = ">=3.9"
dependencies = ["pyreact-framework>=1.0.5"]
[project.optional-dependencies]
dev = ["pytest>=8"]
O prpm.lock deve ser versionado. Ele registra a versão exata de cada pacote,
a origem e os hashes fornecidos pelo índice. Em CI, use:
prpm install --frozen
prpm test
Se o manifesto e o lock divergirem, o modo congelado falha antes de instalar.
Desenvolvimento
python -m pip install -e ".[dev]"
python -m pytest
python -m prpm --help
Consulte CONTRIBUTING.md para o fluxo de contribuição.
Licença
MIT. Veja LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file prpm-0.2.0.tar.gz.
File metadata
- Download URL: prpm-0.2.0.tar.gz
- Upload date:
- Size: 31.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cdddf4ec7e53aa5da12d75c06356f681244bd7b2c960d8d671c37df87adbbcf8
|
|
| MD5 |
ffdb71bbc6bd599aa94dba45ef735511
|
|
| BLAKE2b-256 |
b2edf1ee6577be9dd2d0be864f716953d2e37944052a7ebd9ba5ae7c5ed8c520
|
File details
Details for the file prpm-0.2.0-py3-none-any.whl.
File metadata
- Download URL: prpm-0.2.0-py3-none-any.whl
- Upload date:
- Size: 33.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eef657f3beb79dac99a697c8ec92e90c5c58397981c9ec20c43d929874e00a82
|
|
| MD5 |
c1751d764ffc626a782d6ca441ae7277
|
|
| BLAKE2b-256 |
66e9d3fc7c9d12932cda8abaa234bba28c6b1518870284df386fb07346052e97
|