Skip to main content

Gerenciador de pacotes e projetos para o ecossistema PyReact

Project description

PRPM

O package manager do ecossistema PyReact.

CI 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 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.0.tar.gz (31.3 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.0-py3-none-any.whl (33.8 kB view details)

Uploaded Python 3

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

Hashes for prpm-0.2.0.tar.gz
Algorithm Hash digest
SHA256 cdddf4ec7e53aa5da12d75c06356f681244bd7b2c960d8d671c37df87adbbcf8
MD5 ffdb71bbc6bd599aa94dba45ef735511
BLAKE2b-256 b2edf1ee6577be9dd2d0be864f716953d2e37944052a7ebd9ba5ae7c5ed8c520

See more details on using hashes here.

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

Hashes for prpm-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eef657f3beb79dac99a697c8ec92e90c5c58397981c9ec20c43d929874e00a82
MD5 c1751d764ffc626a782d6ca441ae7277
BLAKE2b-256 66e9d3fc7c9d12932cda8abaa234bba28c6b1518870284df386fb07346052e97

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