authskaf 🚀
A simple, lightweight project scaffolding tool built with Python, Typer, and Rich. authskaf helps you jumpstart your projects by generating boilerplate from customizable templates.
✨ Features
- Template-based: Create new projects from predefined or custom templates.
- Variable Replacement: Supports
{{variable}}placeholders in any file within your template. - Interactive CLI: Automatically detects variables and prompts you for values.
- Flexible Metadata: Add custom fields like
author,version, orlicenseto your templates. - Platform Idiomatic: Stores templates in standard config directories (
AppDataon Windows,.configon Linux/macOS). - Batteries Included: Automatically installs default templates on the first run.
- UV Integration: Built-in support for initializing Python projects with
uv.
🚀 Installation
The easiest way to install authskaf is using uv:
uv tool install authskaf
Alternatively, you can install it via pip:
pip install authskaf
🛠️ Usage
1. List Available Templates
See all templates currently installed on your system.
authskaf list
2. Get Template Details
View a template's description, required variables, and custom metadata.
authskaf info <template_name>
3. Initialize a New Project
Create a new project from a template. authskaf will guide you through the configuration.
authskaf init <template_name> <output_directory>
Example:
authskaf init python-web ./my-api --python 3.12
📂 Template Locations
authskaf looks for templates in the following platform-specific directories:
- Windows:
%APPDATA%\authskaf\templates\ - Linux/macOS:
~/.config/authskaf/templates/
Each template should be a folder containing:
template.toml: (Optional) Manifest file for metadata.files/: A directory containing the boilerplate files.
✍️ Creating Your Own Template
- Create a folder in your templates directory (e.g.,
my-template). - Create a
files/directory inside it and add your boilerplate. Use{{variable_name}}for placeholders. - (Optional) Create a
template.tomlto add metadata:
name = "My Awesome Template"
description = "A starter for high-performance APIs"
author = "Your Name"
version = "1.0.0"
# You can also pre-define variables (optional, authskaf auto-detects them too)
variables = ["project_name", "db_type"]
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
Metadata
Release files for authskaf 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| authskaf-0.1.0.tar.gz | 14.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| authskaf-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.8 kB
Release files / authskaf-0.1.0.tar.gz
| Download URL | authskaf-0.1.0.tar.gz |
|---|---|
| Size | 14.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a5193f0692eab8912403fd74b4a20664e8af53a0cc26e1425f642cf244535093
|
|
BLAKE2b-256 checksum How to use checksums |
3b9c52444695f8d513f499b834b78681061df139402d9e197ffeeee6938eb37c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.12
|
Release files / authskaf-0.1.0-py3-none-any.whl
| Download URL | authskaf-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
880adcff04974922b0fd863176006324f9400d02699172c545702fbe7aa00946
|
|
BLAKE2b-256 checksum How to use checksums |
f058cd6b10589f99c2bb2252389bbef04b5edc8b0a1a90784872f6813c114b5f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.12
|