Skip to main content

jbussdieker-project

A modern Python development toolkit plugin for generating complete Python project structures using the jbussdieker CLI framework. This plugin creates fully configured Python projects with CI/CD workflows, testing setup, and all necessary development files.

🚀 Features

  • Complete Project Generation: Creates fully structured Python projects with all necessary files
  • CI/CD Integration: Includes GitHub Actions workflows for testing and publishing
  • Testing Setup: Pre-configured test structure with pytest
  • Modern Python Configuration: Uses pyproject.toml for modern Python packaging
  • License and Documentation: Automatically generates LICENSE and README files
  • Git Integration: Includes .gitignore and proper Git setup
  • Customizable Templates: Uses configurable templates for all generated files
  • Multi-Environment Support: Works across different Python versions and operating systems

📦 Installation

pip install jbussdieker-project --upgrade

🔧 Prerequisites

  • Python 3.9 or higher
  • jbussdieker CLI framework
  • Git (for version control integration)

🎯 Usage

Basic Usage

Create a new Python project:

jbussdieker project my-awesome-project

This will create a complete project structure:

my-awesome-project/
├── .github/
│   └── workflows/
│       ├── ci.yml
│       └── publish.yml
├── src/
│   └── my-awesome-project/
│       └── __init__.py
├── tests/
│   ├── __init__.py
│   └── test_my-awesome-project.py
├── LICENSE
├── Makefile
├── README.md
├── pyproject.toml
└── .gitignore

Generated Project Structure

The plugin generates a complete Python project with:

  • Source Code: Properly structured src/ layout
  • Testing: pytest configuration and test files
  • CI/CD: GitHub Actions for testing and publishing
  • Documentation: README and license files
  • Build System: Modern pyproject.toml configuration
  • Development Tools: Makefile with common development commands

🔍 Generated Files

Core Project Files

  • pyproject.toml: Modern Python project configuration
  • README.md: Project documentation template
  • LICENSE: MIT license with your name
  • .gitignore: Python-specific Git ignore rules
  • Makefile: Development commands and shortcuts

CI/CD Workflows

  • .github/workflows/ci.yml: Automated testing workflow
  • .github/workflows/publish.yml: Automated publishing to PyPI

Source Structure

  • src/<project_name>/__init__.py: Main package initialization
  • tests/: Complete testing structure with pytest

🛠️ Development

This plugin is part of the jbussdieker ecosystem. It integrates seamlessly with the jbussdieker CLI framework.

Project Structure

src/jbussdieker/project/
├── __init__.py
├── cli.py          # CLI interface and argument parsing
├── generator.py    # Core project generation logic
├── git_utils.py    # Git integration utilities
├── template_loader.py # Template loading and substitution
└── templates/      # Project template files
    ├── pyproject.toml.tpl
    ├── README.md.tpl
    ├── LICENSE.tpl
    ├── Makefile.tpl
    ├── ci.yml.tpl
    ├── publish.yml.tpl
    └── ...

Template System

The plugin uses a flexible template system that supports variable substitution for:

  • Project name and description
  • User information (name, email)
  • GitHub organization
  • Default branch name
  • Version information

📝 License

This project is licensed under MIT.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Metadata

Release files for jbussdieker-project 0.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jbussdieker-project 0.4.1
File Size Uploaded
jbussdieker_project-0.4.1.tar.gz 15.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jbussdieker-project 0.4.1
File Interpreter ABI Platform
jbussdieker_project-0.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 26.7 kB

Release files / jbussdieker_project-0.4.1.tar.gz

Download URL jbussdieker_project-0.4.1.tar.gz
Size 15.0 kB
Tags Source
SHA-256 checksum
How to use checksums
745c649f654489fac66e71f78dbd32584b65dc7e12004e1597efbfed107c8ac1
BLAKE2b-256 checksum
How to use checksums
5250972c2056e60a8b6a42cb56c694964a2f71b86a5c963d3a5481c1e2eb384b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.11

Release files / jbussdieker_project-0.4.1-py3-none-any.whl

Download URL jbussdieker_project-0.4.1-py3-none-any.whl
Size 11.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
95c7d2e90c1d5b1f93d6d0eb5b021dbbdd182243578a56b01d85b4a3f14d4a68
BLAKE2b-256 checksum
How to use checksums
90efffec418a3b934a07ae80e3446db56f13bb224057e45a3d35e09340c8638e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.11

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page