Prudentia CLI - Development tools for Prudentia internal developers
Project description
Prudentia CLI (pevx)
A development CLI tool for Prudentia internal developers.
Installation
From PyPI (when published)
pip install pevx
Development Mode
Clone the repository and install in development mode using Poetry:
git clone https://github.com/Prudentia-Sciences/pevx
cd pevx
poetry install
Usage
After installation, you can use the CLI with the pevx command:
# Show help
pevx --help
# Authenticate poetry with AWS CodeArtifact
pevx poetry add-codeartifact
Available Commands
poetry add-codeartifact: Authenticate poetry with AWS CodeArtifact- Configures poetry to use Prudentia's private Python package repository
- Uses AWS credentials to obtain authentication token
uv add [package]: Install Prudentia's private packages usinguv
Command Options
poetry add-codeartifact
pevx poetry add-codeartifact --domain custom-domain --domain-owner 123456789 --repo custom-repo --region us-west-2
Default values:
- Domain: prudentia-sciences
- Domain Owner: 728222516696
- Repository: pypi-store
- Region: us-east-1
uv add [package]
pevx uv add [package] --domain custom-domain --domain-owner 123456789 --repo custom-repo --region us-west-2
Default values:
- Domain: prudentia-sciences
- Domain Owner: 728222516696
- Repository: pypi-store
- Region: us-east-1
Development
Adding New Commands
- Create a new file in the
pevx/commands/directory for your command group - Implement your command using Click
- Import and register your command in
pevx/cli.py
Example:
# In pevx/commands/my_command.py
import click
@click.command()
def my_command():
"""Command description."""
click.echo("Running my command")
# In pevx/cli.py, add:
from pevx.commands.my_command import my_command
cli.add_command(my_command)
CI/CD and Versioning
This project uses a comprehensive CI/CD pipeline with semantic-release:
-
Automated Testing
- Runs tests on multiple Python versions (3.9, 3.10, 3.11, 3.12)
- Generates code coverage reports
-
Semantic Versioning
- Automatically determines the next version number based on commit messages
- Creates GitHub releases with generated changelogs
-
Automated Publishing to PyPI
- When a new version is detected, automatically builds and publishes to PyPI
Required Secrets
To use the CI/CD pipeline, add this secret to your GitHub repository:
PYPI_API_TOKEN: API token for PyPI
Commit Message Format
For semantic-release to work properly, use conventional commit messages:
<type>(<scope>): <description>
[optional body]
[optional footer]
Common types:
fix: Bug fixes (triggers PATCH version bump)feat: New features (triggers MINOR version bump)feat!,fix!,refactor!, etc.: Breaking changes (triggers MAJOR version bump)
Once published to PyPI, team members can install the CLI tool with:
pip install pevx
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 pevx-1.3.2.tar.gz.
File metadata
- Download URL: pevx-1.3.2.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34ae265dc095223b4f11943eed438cfb0b539954c2b8ca7c0303821a0d67009e
|
|
| MD5 |
0d9d0c6fab49dc2eaba0af9e4f7fb3cd
|
|
| BLAKE2b-256 |
c40ba88be2b513a1e1ff557c7655992359231f2d4f8354d45ce9f02bab7345e6
|
File details
Details for the file pevx-1.3.2-py3-none-any.whl.
File metadata
- Download URL: pevx-1.3.2-py3-none-any.whl
- Upload date:
- Size: 7.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15c775ca0be904a710fc6bf467e8a45a9cf5d6480c31ec25e8ad3ec4b3b0618b
|
|
| MD5 |
2382f19dfe209b4150fab7ec75a5fdf7
|
|
| BLAKE2b-256 |
542f959c12655dd3fc463b374250126837564f34a48eb5733bf03738571683ed
|