jbussdieker-config
A modern Python development toolkit plugin for managing configuration settings within the jbussdieker CLI framework. This plugin provides a simple and intuitive way to view, set, and manage configuration values for the jbussdieker ecosystem.
🚀 Features
- Configuration Management: View and modify configuration settings for jbussdieker plugins
- JSON-Based Storage: Persistent configuration stored in JSON format
- Custom Settings: Support for custom configuration values beyond built-in settings
- Type-Aware: Automatic type conversion for boolean, string, and other data types
- Environment Override: Configurable config file location via environment variables
- Default Values: Sensible defaults for common development settings
📦 Installation
pip install jbussdieker-config --upgrade
🔧 Prerequisites
- Python 3.9 or higher
- jbussdieker CLI framework
🎯 Usage
View Current Configuration
Display all current configuration settings:
jbussdieker config
Set Configuration Values
Set a configuration value using the KEY=VALUE format:
jbussdieker config --set user_name="John Doe"
jbussdieker config --set user_email="john@example.com"
jbussdieker config --set private=false
Custom Settings
Set custom configuration values that aren't part of the built-in settings:
jbussdieker config --set custom_setting="value"
📋 Configuration Settings
The plugin manages the following built-in configuration settings:
User Information
user_name: Your full name (default: "Joshua B. Bussdieker")user_email: Your email address (default: "jbussdieker@gmail.com")github_org: Your GitHub organization (default: "jbussdieker")
Project Settings
private: Whether projects should be private by default (default: true)storage_url: URL for storage configurationopenai_api_key: OpenAI API key for AI-powered features
Logging Configuration
log_level: Logging level (default: "INFO")log_format: Log format string (default: "%(levelname)s: %(message)s")
Custom Settings
custom_settings: Dictionary for storing custom configuration values
🔍 How It Works
- Configuration Storage: Settings are stored in
~/.jbussdieker.jsonby default - Environment Override: Use
JBUSSDIEKER_CONFIGenvironment variable to specify a custom config file path - Type Conversion: Boolean values are automatically converted from string representations
- Persistence: Changes are immediately saved to the configuration file
- Validation: Built-in settings are validated against expected types
🛠️ Development
This plugin is part of the jbussdieker ecosystem. It integrates seamlessly with the jbussdieker CLI framework.
Project Structure
src/jbussdieker/config/
├── __init__.py # Package initialization and version
├── cli.py # CLI interface and argument parsing
└── config.py # Configuration management and storage
Configuration File Location
By default, the configuration is stored in:
~/.jbussdieker.json
You can override this by setting the JBUSSDIEKER_CONFIG environment variable:
export JBUSSDIEKER_CONFIG="/path/to/custom/config.json"
📝 License
This project is licensed under MIT.
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📚 Related
- jbussdieker - The main CLI framework
- jbussdieker-commit - AI-powered commit message generation
Metadata
Release files for jbussdieker-config 0.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jbussdieker_config-0.5.1.tar.gz | 7.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jbussdieker_config-0.5.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.1 kB
Release files / jbussdieker_config-0.5.1.tar.gz
| Download URL | jbussdieker_config-0.5.1.tar.gz |
|---|---|
| Size | 7.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
476b50900c749bbcfe17b972fcf0060c664dd6739b6f79a4b02b96a9f28c9d7d
|
|
BLAKE2b-256 checksum How to use checksums |
43c4544c914fa491d4b60fb08170843739459888f4ad1ffaea7ce2c3ff295b1f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.11
|
Release files / jbussdieker_config-0.5.1-py3-none-any.whl
| Download URL | jbussdieker_config-0.5.1-py3-none-any.whl |
|---|---|
| Size | 5.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a795d0efbc0eeeaf43741b2c68ea1bf13756a2c7e299822bf0cfdda2fa48cbbd
|
|
BLAKE2b-256 checksum How to use checksums |
bcd0cb202fccf69357922e6940a88b47732166f772261351e8f172667ff39ee5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.11
|