Skip to main content

A modern Python CLI tool to scaffold and configure new Python library projects with best practices.

Project description

prysa logo

prysa is a modern Python CLI tool that helps you quickly scaffold and configure new Python library projects with best practices and essential tools. It is designed for ease of use, flexibility, and extensibility, making it the perfect starting point for your next Python library.

Features

  • 📦 Project Initialization: Scaffold a new Python library project with a standard structure (src/, tests/, README.md, etc.).
  • 🛠️ Tool Selection: Choose your preferred dependency manager (Poetry, pip, or uv), linter (Ruff or Pylint), and test framework (Pytest or Unittest).
  • Automatic Config Generation: Instantly generate configuration files for your selected tools.
  • 🧩 Extensible: Easily add support for new tools by implementing simple abstractions.
  • 🏗️ CLI Simplicity: Minimal, intuitive commands with sensible defaults.

Quick Start

Installation

Note: prysa uses Poetry for dependency management. Make sure you have Poetry installed:

curl -sSL https://install.python-poetry.org | python3 -

Clone the repository and install dependencies:

git clone https://github.com/yourusername/prysa.git
cd prysa
poetry install

Usage

Create a new Python library project with default tools:

prysa new mylib

Create a new project and specify tools:

prysa new mylib --manager poetry --linter ruff --tester pytest

Add a linter to an existing project:

prysa add linter pylint

List available tools:

prysa list-tools

Show help:

prysa help

Command Reference

  • new <project_name>: Scaffold a new Python library project.
  • add <category> <tool>: Add a new tool (linter, manager, tester) to an existing project.
  • remove <category> <tool>: Remove a tool from the project configuration.
  • list-tools: List all available tools for each category.
  • show-config: Display the current project configuration and selected tools.
  • help [command]: Show help message and usage instructions.
  • version: Show the current version of prysa.

Why prysa?

  • Fast: Get started in seconds with a single command.
  • Flexible: Choose the tools that fit your workflow.
  • Extensible: Add new tools and commands as your needs grow.
  • Best Practices: Start every project with a solid foundation.

Contributing

Contributions are welcome! Please see the CONTRIBUTING.md (to be created) for guidelines.

License

MIT License


prysa is inspired by the needs of modern Python developers who want to focus on building, not boilerplate.

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

prysa-0.1.0.tar.gz (2.7 kB view details)

Uploaded Source

Built Distribution

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

prysa-0.1.0-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file prysa-0.1.0.tar.gz.

File metadata

  • Download URL: prysa-0.1.0.tar.gz
  • Upload date:
  • Size: 2.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.3 Linux/6.14.0-15-generic

File hashes

Hashes for prysa-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4dcb133595c526d4189d4d7d037b8087b2059c4910e2400acf04c514f4e602d7
MD5 009176f6b6ded828e9edf89477b1b835
BLAKE2b-256 9cb8c911437c7619c818955819dfe661f60bff46a10c75890a406df8918c7686

See more details on using hashes here.

File details

Details for the file prysa-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: prysa-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.3 Linux/6.14.0-15-generic

File hashes

Hashes for prysa-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ff0168b6e28a776282d35c95e29b3721d66fb6763f2058b0ae283cd384ec2177
MD5 ddca813a49ef990c326820822178f1a0
BLAKE2b-256 f062e7210ef7a20ed99f57dac86333bff64757ef95eacd237502f3ea0a1bcd09

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