Skip to main content

Gerenciador de pacotes e projetos para o ecossistema PyReact

Project description

PRPM

O package manager do ecossistema PyReact.

CI PyPI Python License: MIT 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.toml padrão como manifesto;
  • resolve pacotes no PyPI (incluindo pyreact-framework);
  • cria uma .venv isolada automaticamente;
  • gera prpm.lock com 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 prpm

Para instalar diretamente a versão de desenvolvimento do GitHub:

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

prpm-0.2.1.tar.gz (31.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

prpm-0.2.1-py3-none-any.whl (33.8 kB view details)

Uploaded Python 3

File details

Details for the file prpm-0.2.1.tar.gz.

File metadata

  • Download URL: prpm-0.2.1.tar.gz
  • Upload date:
  • Size: 31.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for prpm-0.2.1.tar.gz
Algorithm Hash digest
SHA256 f2b04ecc8542db89af2a8384daca129848c24fef8be861af7f6d1a492a92e25f
MD5 ac9254cc07457621cfa56acfe79f94d5
BLAKE2b-256 0934a58a0f435b45565afcdeaf9675c637d393acc774b88fd555eab33a918357

See more details on using hashes here.

File details

Details for the file prpm-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: prpm-0.2.1-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

Hashes for prpm-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6a021f01227719dbf3206ed4b569c410fa51a259ae227a6b491a2d4e86da67a9
MD5 01fb140207b0ba7810584bd72c04ee26
BLAKE2b-256 98dcb97c021954c2b883ba0a56087728b4e6eb1c5b7900456292081810a1bae6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page