A modern Python CLI tool to scaffold and configure new Python library projects with best practices.
Project description
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
prysa is inspired by the needs of modern Python developers who want to focus on building, not boilerplate.
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4dcb133595c526d4189d4d7d037b8087b2059c4910e2400acf04c514f4e602d7
|
|
| MD5 |
009176f6b6ded828e9edf89477b1b835
|
|
| BLAKE2b-256 |
9cb8c911437c7619c818955819dfe661f60bff46a10c75890a406df8918c7686
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff0168b6e28a776282d35c95e29b3721d66fb6763f2058b0ae283cd384ec2177
|
|
| MD5 |
ddca813a49ef990c326820822178f1a0
|
|
| BLAKE2b-256 |
f062e7210ef7a20ed99f57dac86333bff64757ef95eacd237502f3ea0a1bcd09
|