2.3.3.4.1. Introduction

  • Relative Filepath[1]: project/intro.yaml

  • Pre-configured: True

[1]: Filepath is relative to the root of the control center directory.

$schema: https://json-schema.org/draft/2020-12/schema
title: Project Introduction
description: Name, tagline, keywords, and other descriptions for the project.
type: object
default: { }
additionalProperties: false
properties:
  name:
    title: Project Name
    description: |
      Name of the project.
      If not set, the project name is derived from the repository name,
      by replacing all hyphens with spaces.
    type: string
    default: ""
    oneOf:
      - minLength: 0
        maxLength: 0
      - pattern: ^[A-Za-z0-9](?:[A-Za-z0-9 ._-]*[A-Za-z0-9])?$
  tagline:
    title: Project Tagline
    description: A single-sentence description or slogan for the project.
    type: string
    default: ""
  description:
    title: Project Description
    description: A short description or abstract for the project.
    type: string
    default: ""
  keywords:
    title: Project Keywords
    description: Keywords of the project
    type: array
    default: [ ]
    uniqueItems: true
    maxItems: 20
    items:
      type: string
      maxLength: 50
      pattern: ^[A-Za-z0-9][A-Za-z0-9\- ]*$
  keynotes:
    title: Project Keynotes
    description: Keynotes for the project
    type: array
    default: [ ]
    uniqueItems: true
    items:
      type: object
      additionalProperties: false
      properties:
        title:
          description: Title of the keynote
          type: string
        description:
          description: Description of the keynote
          type: string
      required: [ title, description ]
required: [ name, tagline, description, keywords, keynotes ]
name: ''
tagline: ''
description: ''
keywords: []
keynotes: []
name: ""
tagline: >-
  Python Projects Perfected: Innovate, Develop, and Deploy Effortlessly!
description: >-
  ${{ name }} is a free and open-source toolkit
  <b>empowering the development of open-source Python projects on GitHub</b>.
  It is a <b>dynamic repository template</b> that provides a complete, professional, and
  robust infrastructure for your project, where the only thing missing is your code.
  With ${{ name }}, you can solely focus on what truly matters:
  implementing your ideas and bringing your vision to life!
keywords:
  - python
  - github
  - packaging
  - template
  - dynamic repository
  - repository template
  - documentation
  - testing
  - deployment
  - maintenance
  - automation
  - development
  - infrastructure
  - streamline
keynotes:
  - title: Automation
    description: >-
      ${{ name }} streamlines a remarkable portion of the process of creating,
      documenting, testing, publishing, and maintaining Python packages,
      making your project development a pleasant breeze!
  - title: Synchronization
    description: >-
      ${{ name }} gathers all your project's key information and configuration in one place,
      and dynamically updates them throughout your repository, Python package, and documentation website.
  - title: Configuration
    description: >-
      ${{ name }} elevates your project by providing full configuration for your repository,
      Python package, and documentation website, according to the latest guidelines and best practices.
  - title: Customization
    description: >-
      While carefully configured, ${{ name }} is also fully customizable,
      allowing you to tailor every aspect of your development pipeline to your specific needs
  - title: Documentation
    description: >-
      ${{ name }} comes with a professional website for your project, that is easily
      customizable, and automatically generated and deployed on your preferred platform.
  - title: Production
    description: >-
      With ${{ name }}, the only remaining step to publishing a production-ready
      Python project is adding your code, unit-tests and documentation content.

The project/intro.yaml file allows you to customize the name of your project, and to provide a variety of descriptors that are used to describe and categorize your project.

Name

A custom name for your project.

Tagline

A short description, tagline, or slogan for your project.

Description

An introductory description or abstract for your project.

Keywords

A list of keywords categorizing your project.

Keynotes

A list of keynotes, highlighting the main aspects of your project.