Class PythonProject.Builder
- java.lang.Object
-
- io.github.cdklabs.projen.python.PythonProject.Builder
-
- All Implemented Interfaces:
software.amazon.jsii.Builder<PythonProject>
- Enclosing class:
- PythonProject
@Stability(Experimental) public static final class PythonProject.Builder extends Object implements software.amazon.jsii.Builder<PythonProject>
(experimental) A fluent builder forPythonProject.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description PythonProject.BuilderauthorEmail(String authorEmail)(experimental) Author's e-mail.PythonProject.BuilderauthorName(String authorName)(experimental) Author's name.PythonProject.BuilderautoApproveOptions(AutoApproveOptions autoApproveOptions)(experimental) Enable and configure the 'auto approve' workflow.PythonProject.BuilderautoMerge(Boolean autoMerge)(experimental) Enable automatic merging on GitHub.PythonProject.BuilderautoMergeOptions(AutoMergeOptions autoMergeOptions)(experimental) Configure options for automatic merging on GitHub.PythonProjectbuild()PythonProject.Builderclassifiers(List<String> classifiers)(experimental) A list of PyPI trove classifiers that describe the project.PythonProject.Builderclobber(Boolean clobber)(experimental) Add aclobbertask which resets the repo to origin.PythonProject.BuildercommitGenerated(Boolean commitGenerated)(experimental) Whether to commit the managed files by default.static PythonProject.Buildercreate()PythonProject.Builderdeps(List<String> deps)(experimental) List of runtime dependencies for this project.PythonProject.Builderdescription(String description)(experimental) A short description of the package.PythonProject.BuilderdevContainer(Boolean devContainer)(experimental) Add a VSCode development environment (used for GitHub Codespaces).PythonProject.BuilderdevDeps(List<String> devDeps)(experimental) List of dev dependencies for this project.PythonProject.Buildergithub(Boolean github)(experimental) Enable GitHub integration.PythonProject.BuildergithubOptions(GitHubOptions githubOptions)(experimental) Options for GitHub integration.PythonProject.BuildergitIgnoreOptions(IgnoreFileOptions gitIgnoreOptions)(experimental) Configuration options for .gitignore file.PythonProject.BuildergitOptions(GitOptions gitOptions)(experimental) Configuration options for git.PythonProject.Buildergitpod(Boolean gitpod)(experimental) Add a Gitpod development environment.PythonProject.Builderhomepage(String homepage)(experimental) A URL to the website of the project.PythonProject.Builderlicense(String license)(experimental) License of this package as an SPDX identifier.PythonProject.Builderlogging(LoggerOptions logging)(experimental) Configure logging options such as verbosity.PythonProject.Buildermergify(Boolean mergify)Deprecated.usegithubOptions.mergifyinsteadPythonProject.BuildermergifyOptions(MergifyOptions mergifyOptions)Deprecated.usegithubOptions.mergifyOptionsinsteadPythonProject.BuildermoduleName(String moduleName)(experimental) Name of the python package as used in imports and filenames.PythonProject.Buildername(String name)(experimental) This is the name of your project.PythonProject.Builderoutdir(String outdir)(experimental) The root directory of the project.PythonProject.BuilderpackageName(String packageName)(experimental) Package name.PythonProject.Builderparent(Project parent)(experimental) The parent project, if this project is part of a bigger project.PythonProject.Builderpip(Boolean pip)(experimental) Use pip with a requirements.txt file to track project dependencies.PythonProject.Builderpoetry(Boolean poetry)(experimental) Use poetry to manage your project dependencies, virtual environment, and (optional) packaging/publishing.PythonProject.BuilderpoetryOptions(PoetryPyprojectOptionsWithoutDeps poetryOptions)(experimental) Additional options to set for poetry if using poetry.PythonProject.BuilderprojectType(ProjectType projectType)Deprecated.no longer supported at the base project levelPythonProject.BuilderprojenCommand(String projenCommand)(experimental) The shell command to use in order to run the projen CLI.PythonProject.BuilderprojenCredentials(GithubCredentials projenCredentials)(experimental) Choose a method of providing GitHub API access for projen workflows.PythonProject.BuilderprojenrcJs(Boolean projenrcJs)(experimental) Use projenrc in javascript.PythonProject.BuilderprojenrcJson(Boolean projenrcJson)(experimental) Generate (once) .projenrc.json (in JSON).PythonProject.BuilderprojenrcJsonOptions(ProjenrcJsonOptions projenrcJsonOptions)(experimental) Options for .projenrc.json.PythonProject.BuilderprojenrcJsOptions(ProjenrcOptions projenrcJsOptions)(experimental) Options related to projenrc in JavaScript.PythonProject.BuilderprojenrcPython(Boolean projenrcPython)(experimental) Use projenrc in Python.PythonProject.BuilderprojenrcPythonOptions(ProjenrcOptions projenrcPythonOptions)(experimental) Options related to projenrc in python.PythonProject.BuilderprojenrcTs(Boolean projenrcTs)(experimental) Use projenrc in TypeScript.PythonProject.BuilderprojenrcTsOptions(ProjenrcTsOptions projenrcTsOptions)(experimental) Options related to projenrc in TypeScript.PythonProject.BuilderprojenTokenSecret(String projenTokenSecret)Deprecated.useprojenCredentialsPythonProject.Builderpytest(Boolean pytest)(experimental) Include pytest tests.PythonProject.BuilderpytestOptions(PytestOptions pytestOptions)(experimental) pytest options.PythonProject.BuilderpythonExec(String pythonExec)(experimental) Path to the python executable to use.PythonProject.Builderreadme(SampleReadmeProps readme)(experimental) The README setup.PythonProject.Builderrenovatebot(Boolean renovatebot)(experimental) Use renovatebot to handle dependency upgrades.PythonProject.BuilderrenovatebotOptions(RenovatebotOptions renovatebotOptions)(experimental) Options for renovatebot.PythonProject.Buildersample(Boolean sample)(experimental) Include sample code and test if the relevant directories don't exist.PythonProject.BuildersetupConfig(Map<String,? extends Object> setupConfig)(experimental) Additional fields to pass in the setup() function if using setuptools.PythonProject.Buildersetuptools(Boolean setuptools)(experimental) Use setuptools with a setup.py script for packaging and publishing.PythonProject.Builderstale(Boolean stale)(experimental) Auto-close of stale issues and pull request.PythonProject.BuilderstaleOptions(StaleOptions staleOptions)(experimental) Auto-close stale issues and pull requests.PythonProject.Buildervenv(Boolean venv)(experimental) Use venv to manage a virtual environment for installing dependencies inside.PythonProject.BuildervenvOptions(VenvOptions venvOptions)(experimental) Venv options.PythonProject.Builderversion(String version)(experimental) Version of the package.PythonProject.Buildervscode(Boolean vscode)(experimental) Enable VSCode integration.
-
-
-
Method Detail
-
create
@Stability(Experimental) public static PythonProject.Builder create()
- Returns:
- a new instance of
PythonProject.Builder.
-
name
@Stability(Experimental) public PythonProject.Builder name(String name)
(experimental) This is the name of your project.Default: $BASEDIR
- Parameters:
name- This is the name of your project. This parameter is required.- Returns:
this
-
commitGenerated
@Stability(Experimental) public PythonProject.Builder commitGenerated(Boolean commitGenerated)
(experimental) Whether to commit the managed files by default.Default: true
- Parameters:
commitGenerated- Whether to commit the managed files by default. This parameter is required.- Returns:
this
-
gitIgnoreOptions
@Stability(Experimental) public PythonProject.Builder gitIgnoreOptions(IgnoreFileOptions gitIgnoreOptions)
(experimental) Configuration options for .gitignore file.- Parameters:
gitIgnoreOptions- Configuration options for .gitignore file. This parameter is required.- Returns:
this
-
gitOptions
@Stability(Experimental) public PythonProject.Builder gitOptions(GitOptions gitOptions)
(experimental) Configuration options for git.- Parameters:
gitOptions- Configuration options for git. This parameter is required.- Returns:
this
-
logging
@Stability(Experimental) public PythonProject.Builder logging(LoggerOptions logging)
(experimental) Configure logging options such as verbosity.Default: {}
- Parameters:
logging- Configure logging options such as verbosity. This parameter is required.- Returns:
this
-
outdir
@Stability(Experimental) public PythonProject.Builder outdir(String outdir)
(experimental) The root directory of the project.Relative to this directory, all files are synthesized.
If this project has a parent, this directory is relative to the parent directory and it cannot be the same as the parent or any of it's other subprojects.
Default: "."
- Parameters:
outdir- The root directory of the project. This parameter is required.- Returns:
this
-
parent
@Stability(Experimental) public PythonProject.Builder parent(Project parent)
(experimental) The parent project, if this project is part of a bigger project.- Parameters:
parent- The parent project, if this project is part of a bigger project. This parameter is required.- Returns:
this
-
projenCommand
@Stability(Experimental) public PythonProject.Builder projenCommand(String projenCommand)
(experimental) The shell command to use in order to run the projen CLI.Can be used to customize in special environments.
Default: "npx projen"
- Parameters:
projenCommand- The shell command to use in order to run the projen CLI. This parameter is required.- Returns:
this
-
projenrcJson
@Stability(Experimental) public PythonProject.Builder projenrcJson(Boolean projenrcJson)
(experimental) Generate (once) .projenrc.json (in JSON). Set tofalsein order to disable .projenrc.json generation.Default: false
- Parameters:
projenrcJson- Generate (once) .projenrc.json (in JSON). Set tofalsein order to disable .projenrc.json generation. This parameter is required.- Returns:
this
-
projenrcJsonOptions
@Stability(Experimental) public PythonProject.Builder projenrcJsonOptions(ProjenrcJsonOptions projenrcJsonOptions)
(experimental) Options for .projenrc.json.Default: - default options
- Parameters:
projenrcJsonOptions- Options for .projenrc.json. This parameter is required.- Returns:
this
-
renovatebot
@Stability(Experimental) public PythonProject.Builder renovatebot(Boolean renovatebot)
(experimental) Use renovatebot to handle dependency upgrades.Default: false
- Parameters:
renovatebot- Use renovatebot to handle dependency upgrades. This parameter is required.- Returns:
this
-
renovatebotOptions
@Stability(Experimental) public PythonProject.Builder renovatebotOptions(RenovatebotOptions renovatebotOptions)
(experimental) Options for renovatebot.Default: - default options
- Parameters:
renovatebotOptions- Options for renovatebot. This parameter is required.- Returns:
this
-
autoApproveOptions
@Stability(Experimental) public PythonProject.Builder autoApproveOptions(AutoApproveOptions autoApproveOptions)
(experimental) Enable and configure the 'auto approve' workflow.Default: - auto approve is disabled
- Parameters:
autoApproveOptions- Enable and configure the 'auto approve' workflow. This parameter is required.- Returns:
this
-
autoMerge
@Stability(Experimental) public PythonProject.Builder autoMerge(Boolean autoMerge)
(experimental) Enable automatic merging on GitHub.Has no effect if
github.mergifyis set to false.Default: true
- Parameters:
autoMerge- Enable automatic merging on GitHub. This parameter is required.- Returns:
this
-
autoMergeOptions
@Stability(Experimental) public PythonProject.Builder autoMergeOptions(AutoMergeOptions autoMergeOptions)
(experimental) Configure options for automatic merging on GitHub.Has no effect if
github.mergifyorautoMergeis set to false.Default: - see defaults in `AutoMergeOptions`
- Parameters:
autoMergeOptions- Configure options for automatic merging on GitHub. This parameter is required.- Returns:
this
-
clobber
@Stability(Experimental) public PythonProject.Builder clobber(Boolean clobber)
(experimental) Add aclobbertask which resets the repo to origin.Default: - true, but false for subprojects
- Parameters:
clobber- Add aclobbertask which resets the repo to origin. This parameter is required.- Returns:
this
-
devContainer
@Stability(Experimental) public PythonProject.Builder devContainer(Boolean devContainer)
(experimental) Add a VSCode development environment (used for GitHub Codespaces).Default: false
- Parameters:
devContainer- Add a VSCode development environment (used for GitHub Codespaces). This parameter is required.- Returns:
this
-
github
@Stability(Experimental) public PythonProject.Builder github(Boolean github)
(experimental) Enable GitHub integration.Enabled by default for root projects. Disabled for non-root projects.
Default: true
- Parameters:
github- Enable GitHub integration. This parameter is required.- Returns:
this
-
githubOptions
@Stability(Experimental) public PythonProject.Builder githubOptions(GitHubOptions githubOptions)
(experimental) Options for GitHub integration.Default: - see GitHubOptions
- Parameters:
githubOptions- Options for GitHub integration. This parameter is required.- Returns:
this
-
gitpod
@Stability(Experimental) public PythonProject.Builder gitpod(Boolean gitpod)
(experimental) Add a Gitpod development environment.Default: false
- Parameters:
gitpod- Add a Gitpod development environment. This parameter is required.- Returns:
this
-
mergify
@Stability(Deprecated) @Deprecated public PythonProject.Builder mergify(Boolean mergify)
Deprecated.usegithubOptions.mergifyinstead(deprecated) Whether mergify should be enabled on this repository or not.Default: true
- Parameters:
mergify- Whether mergify should be enabled on this repository or not. This parameter is required.- Returns:
this
-
mergifyOptions
@Stability(Deprecated) @Deprecated public PythonProject.Builder mergifyOptions(MergifyOptions mergifyOptions)
Deprecated.usegithubOptions.mergifyOptionsinstead(deprecated) Options for mergify.Default: - default options
- Parameters:
mergifyOptions- Options for mergify. This parameter is required.- Returns:
this
-
projectType
@Stability(Deprecated) @Deprecated public PythonProject.Builder projectType(ProjectType projectType)
Deprecated.no longer supported at the base project level(deprecated) Which type of project this is (library/app).Default: ProjectType.UNKNOWN
- Parameters:
projectType- Which type of project this is (library/app). This parameter is required.- Returns:
this
-
projenCredentials
@Stability(Experimental) public PythonProject.Builder projenCredentials(GithubCredentials projenCredentials)
(experimental) Choose a method of providing GitHub API access for projen workflows.Default: - use a personal access token named PROJEN_GITHUB_TOKEN
- Parameters:
projenCredentials- Choose a method of providing GitHub API access for projen workflows. This parameter is required.- Returns:
this
-
projenTokenSecret
@Stability(Deprecated) @Deprecated public PythonProject.Builder projenTokenSecret(String projenTokenSecret)
Deprecated.useprojenCredentials(deprecated) The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows.This token needs to have the
repo,workflowsandpackagesscope.Default: "PROJEN_GITHUB_TOKEN"
- Parameters:
projenTokenSecret- The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows. This parameter is required.- Returns:
this
-
readme
@Stability(Experimental) public PythonProject.Builder readme(SampleReadmeProps readme)
(experimental) The README setup.Default: - { filename: 'README.md', contents: '# replace this' }
Example:
"{ filename: 'readme.md', contents: '# title' }"- Parameters:
readme- The README setup. This parameter is required.- Returns:
this
-
stale
@Stability(Experimental) public PythonProject.Builder stale(Boolean stale)
(experimental) Auto-close of stale issues and pull request.See
staleOptionsfor options.Default: false
- Parameters:
stale- Auto-close of stale issues and pull request. This parameter is required.- Returns:
this
-
staleOptions
@Stability(Experimental) public PythonProject.Builder staleOptions(StaleOptions staleOptions)
(experimental) Auto-close stale issues and pull requests.To disable set
staletofalse.Default: - see defaults in `StaleOptions`
- Parameters:
staleOptions- Auto-close stale issues and pull requests. This parameter is required.- Returns:
this
-
vscode
@Stability(Experimental) public PythonProject.Builder vscode(Boolean vscode)
(experimental) Enable VSCode integration.Enabled by default for root projects. Disabled for non-root projects.
Default: true
- Parameters:
vscode- Enable VSCode integration. This parameter is required.- Returns:
this
-
authorEmail
@Stability(Experimental) public PythonProject.Builder authorEmail(String authorEmail)
(experimental) Author's e-mail.Default: $GIT_USER_EMAIL
- Parameters:
authorEmail- Author's e-mail. This parameter is required.- Returns:
this
-
authorName
@Stability(Experimental) public PythonProject.Builder authorName(String authorName)
(experimental) Author's name.Default: $GIT_USER_NAME
- Parameters:
authorName- Author's name. This parameter is required.- Returns:
this
-
version
@Stability(Experimental) public PythonProject.Builder version(String version)
(experimental) Version of the package.Default: "0.1.0"
- Parameters:
version- Version of the package. This parameter is required.- Returns:
this
-
classifiers
@Stability(Experimental) public PythonProject.Builder classifiers(List<String> classifiers)
(experimental) A list of PyPI trove classifiers that describe the project.- Parameters:
classifiers- A list of PyPI trove classifiers that describe the project. This parameter is required.- Returns:
this- See Also:
- https://pypi.org/classifiers/
-
description
@Stability(Experimental) public PythonProject.Builder description(String description)
(experimental) A short description of the package.- Parameters:
description- A short description of the package. This parameter is required.- Returns:
this
-
homepage
@Stability(Experimental) public PythonProject.Builder homepage(String homepage)
(experimental) A URL to the website of the project.- Parameters:
homepage- A URL to the website of the project. This parameter is required.- Returns:
this
-
license
@Stability(Experimental) public PythonProject.Builder license(String license)
(experimental) License of this package as an SPDX identifier.- Parameters:
license- License of this package as an SPDX identifier. This parameter is required.- Returns:
this
-
packageName
@Stability(Experimental) public PythonProject.Builder packageName(String packageName)
(experimental) Package name.- Parameters:
packageName- Package name. This parameter is required.- Returns:
this
-
poetryOptions
@Stability(Experimental) public PythonProject.Builder poetryOptions(PoetryPyprojectOptionsWithoutDeps poetryOptions)
(experimental) Additional options to set for poetry if using poetry.- Parameters:
poetryOptions- Additional options to set for poetry if using poetry. This parameter is required.- Returns:
this
-
setupConfig
@Stability(Experimental) public PythonProject.Builder setupConfig(Map<String,? extends Object> setupConfig)
(experimental) Additional fields to pass in the setup() function if using setuptools.- Parameters:
setupConfig- Additional fields to pass in the setup() function if using setuptools. This parameter is required.- Returns:
this
-
pythonExec
@Stability(Experimental) public PythonProject.Builder pythonExec(String pythonExec)
(experimental) Path to the python executable to use.Default: "python"
- Parameters:
pythonExec- Path to the python executable to use. This parameter is required.- Returns:
this
-
moduleName
@Stability(Experimental) public PythonProject.Builder moduleName(String moduleName)
(experimental) Name of the python package as used in imports and filenames.Must only consist of alphanumeric characters and underscores.
Default: $PYTHON_MODULE_NAME
- Parameters:
moduleName- Name of the python package as used in imports and filenames. This parameter is required.- Returns:
this
-
deps
@Stability(Experimental) public PythonProject.Builder deps(List<String> deps)
(experimental) List of runtime dependencies for this project.Dependencies use the format:
<module>@<semver>Additional dependencies can be added via
project.addDependency().Default: []
- Parameters:
deps- List of runtime dependencies for this project. This parameter is required.- Returns:
this
-
devDeps
@Stability(Experimental) public PythonProject.Builder devDeps(List<String> devDeps)
(experimental) List of dev dependencies for this project.Dependencies use the format:
<module>@<semver>Additional dependencies can be added via
project.addDevDependency().Default: []
- Parameters:
devDeps- List of dev dependencies for this project. This parameter is required.- Returns:
this
-
pip
@Stability(Experimental) public PythonProject.Builder pip(Boolean pip)
(experimental) Use pip with a requirements.txt file to track project dependencies.Default: - true, unless poetry is true, then false
- Parameters:
pip- Use pip with a requirements.txt file to track project dependencies. This parameter is required.- Returns:
this
-
poetry
@Stability(Experimental) public PythonProject.Builder poetry(Boolean poetry)
(experimental) Use poetry to manage your project dependencies, virtual environment, and (optional) packaging/publishing.This feature is incompatible with pip, setuptools, or venv. If you set this option to
true, then pip, setuptools, and venv must be set tofalse.Default: false
- Parameters:
poetry- Use poetry to manage your project dependencies, virtual environment, and (optional) packaging/publishing. This parameter is required.- Returns:
this
-
projenrcJs
@Stability(Experimental) public PythonProject.Builder projenrcJs(Boolean projenrcJs)
(experimental) Use projenrc in javascript.This will install
projenas a JavaScript dependency and add asynthtask which will run.projenrc.js.Default: false
- Parameters:
projenrcJs- Use projenrc in javascript. This parameter is required.- Returns:
this
-
projenrcJsOptions
@Stability(Experimental) public PythonProject.Builder projenrcJsOptions(ProjenrcOptions projenrcJsOptions)
(experimental) Options related to projenrc in JavaScript.Default: - default options
- Parameters:
projenrcJsOptions- Options related to projenrc in JavaScript. This parameter is required.- Returns:
this
-
projenrcPython
@Stability(Experimental) public PythonProject.Builder projenrcPython(Boolean projenrcPython)
(experimental) Use projenrc in Python.This will install
projenas a Python dependency and add asynthtask which will run.projenrc.py.Default: true
- Parameters:
projenrcPython- Use projenrc in Python. This parameter is required.- Returns:
this
-
projenrcPythonOptions
@Stability(Experimental) public PythonProject.Builder projenrcPythonOptions(ProjenrcOptions projenrcPythonOptions)
(experimental) Options related to projenrc in python.Default: - default options
- Parameters:
projenrcPythonOptions- Options related to projenrc in python. This parameter is required.- Returns:
this
-
projenrcTs
@Stability(Experimental) public PythonProject.Builder projenrcTs(Boolean projenrcTs)
(experimental) Use projenrc in TypeScript.This will create a tsconfig file (default:
tsconfig.projen.json) and usets-nodein the default task to parse the project source files.Default: false
- Parameters:
projenrcTs- Use projenrc in TypeScript. This parameter is required.- Returns:
this
-
projenrcTsOptions
@Stability(Experimental) public PythonProject.Builder projenrcTsOptions(ProjenrcTsOptions projenrcTsOptions)
(experimental) Options related to projenrc in TypeScript.Default: - default options
- Parameters:
projenrcTsOptions- Options related to projenrc in TypeScript. This parameter is required.- Returns:
this
-
pytest
@Stability(Experimental) public PythonProject.Builder pytest(Boolean pytest)
(experimental) Include pytest tests.Default: true
- Parameters:
pytest- Include pytest tests. This parameter is required.- Returns:
this
-
pytestOptions
@Stability(Experimental) public PythonProject.Builder pytestOptions(PytestOptions pytestOptions)
(experimental) pytest options.Default: - defaults
- Parameters:
pytestOptions- pytest options. This parameter is required.- Returns:
this
-
sample
@Stability(Experimental) public PythonProject.Builder sample(Boolean sample)
(experimental) Include sample code and test if the relevant directories don't exist.Default: true
- Parameters:
sample- Include sample code and test if the relevant directories don't exist. This parameter is required.- Returns:
this
-
setuptools
@Stability(Experimental) public PythonProject.Builder setuptools(Boolean setuptools)
(experimental) Use setuptools with a setup.py script for packaging and publishing.Default: - true, unless poetry is true, then false
- Parameters:
setuptools- Use setuptools with a setup.py script for packaging and publishing. This parameter is required.- Returns:
this
-
venv
@Stability(Experimental) public PythonProject.Builder venv(Boolean venv)
(experimental) Use venv to manage a virtual environment for installing dependencies inside.Default: - true, unless poetry is true, then false
- Parameters:
venv- Use venv to manage a virtual environment for installing dependencies inside. This parameter is required.- Returns:
this
-
venvOptions
@Stability(Experimental) public PythonProject.Builder venvOptions(VenvOptions venvOptions)
(experimental) Venv options.Default: - defaults
- Parameters:
venvOptions- Venv options. This parameter is required.- Returns:
this
-
build
@Stability(Experimental) public PythonProject build()
- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<PythonProject>- Returns:
- a newly built instance of
PythonProject.
-
-