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.

๐Ÿ“š Related

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jbussdieker_project-0.4.1.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jbussdieker_project-0.4.1-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file jbussdieker_project-0.4.1.tar.gz.

File metadata

  • Download URL: jbussdieker_project-0.4.1.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for jbussdieker_project-0.4.1.tar.gz
Algorithm Hash digest
SHA256 745c649f654489fac66e71f78dbd32584b65dc7e12004e1597efbfed107c8ac1
MD5 84a8df1277c30d548ffd3fd90b682bfb
BLAKE2b-256 5250972c2056e60a8b6a42cb56c694964a2f71b86a5c963d3a5481c1e2eb384b

See more details on using hashes here.

File details

Details for the file jbussdieker_project-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for jbussdieker_project-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 95c7d2e90c1d5b1f93d6d0eb5b021dbbdd182243578a56b01d85b4a3f14d4a68
MD5 9f9faacdc34efee1fc42a77ca1130a8a
BLAKE2b-256 90efffec418a3b934a07ae80e3446db56f13bb224057e45a3d35e09340c8638e

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.0

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page