(manual-cc-output)
Output#
PyPackIT recognizes most standard files in your project and has built-in functionalities to automatically generate and maintain them from your control center configurations, which are provided with sensible default values that can be easily customized. These files include:
Project metadata files
License files are automatically generated from an SPDX license expression configurable at
$.license
.citation files
GitHub configuration files:
CODEOWNERS
, funding, issue template chooser, issue forms, discussion forms, pull request templatesGit configuration files: gitignore, gitattributes
Website configuration files: External TOC
Environment specification files: requirements.txt and environment.yaml for package, test suite, website, development,
Tool configuration files: Configuration files for various tools
Python configuration files: typing marker, conda recipes, pyproject.toml, manifest.in,
Documentation files: READMEs, community health files
PyPackIT is able to dynamically generate any file in your repository from your control center configurations.
Arbitrary data serialization files can be generated in
JSON
,YAML
, andTOML
formats fromYAML
inputs in configuration files.Arbitrary Markdown files can be generated in multiples flavors (e.g., MyST, GFM, and CommonMark) from simple declarative inputs.
Arbitrary text-based files can be generated by providing a dynamic template.
Python plugins can generate any other file.
Dynamic Files#
License: license.path Codeowners: maintainer.code_owners.path README: readme..path Health Files: health..path Website environment files: web.env Announcement file: announcement.path Package README: package.readme.path Package pyproject.toml: package.path Issue forms: issue.forms[].path Pull request forms: pull.template Discussion forms: discussion.category Tool config and env files: tools.
Changelogs: changelog.*.path
Fixed Path#
Citation: CITATION.CFF Funding: .github/FUNDING.yml gitignore: .gitignore gitattributes: .gitattributes
Dynamic Directories#
Media: theme.path Website: web.path Package: package.path Tests: test.path Control center: control.path Local directory: local.path
Dynamic Files
These are all dynamic files, meaning that PyPackIT will automatically update them whenever you apply changes to the corresponding options in your control center. Therefore, you should never manually edit these files, as your changes will be overwritten by PyPackIT the next time they are updated. Instead, you should always apply your changes to the corresponding options in the control center.
A JSON file containing all the contents of your repository’s control center, augmented with additional data generated by PyPackIT.
Source files for your Python package and its corresponding test suite, and all related configuration and metadata files.
GitHub-specific configuration files for your repository, such as issue, pull request, and discussion templates, etc.
Git-specific configuration files for your repository, such as gitignore and gitattributes files.
Configuration files for external tools and services used in your project.
License files for your repository and Python package.
Community health files for your project and GitHub repository, such as code of conduct, contributing guidelines, etc.
The main README file of your GitHub repository, along with README files for all its directories and subdirectories.